网站风格类型有哪些,大连零基础网站建设教学服务,餐厅网站设计,网站开发亿玛酷适合5什么是bigkey
bigkey是指key对应的value所占用的内存空间比较大。例如一个字符串类型的value可以最大存到512MB#xff0c;一个列表类型的value最多可以存储2^32-1个元素。如果按照数据结构来细分的话#xff0c;一般分为字符串类型bigkey和非字符串类型bigkey。 字符串类型…什么是bigkey
bigkey是指key对应的value所占用的内存空间比较大。例如一个字符串类型的value可以最大存到512MB一个列表类型的value最多可以存储2^32-1个元素。如果按照数据结构来细分的话一般分为字符串类型bigkey和非字符串类型bigkey。 字符串类型体现在单个value值很大一般认为超过10kb就是bigkey。 非字符串类型哈希、列表、集合、有序集合体现在元素个数过多。 bigkey无论在空间复杂度还是时间复杂度都不太友好。
bigkey的危害
bigkey的危害主要体现在四个方面 1内存空间不均匀 例如在Redis Cluster中bigkey会造成节点的内存空间使用不均匀。 2超时阻塞由于Redis单线程的特性对元素较多的hashlistzset做运算会耗时比较久也就意味着阻塞redis的可能性增加。 3网络阻塞每次获取bigkey产生的网络流量较大。 4CPU飙升对bigkey序列化反序列化导致CPU飙升。
解决bigkey
1优雅的kye结构的设计 key可以遵循下面几个约定 遵循基本格式[业务名称][数据名][id] 长度不超过44字节 不包含特殊字符 2拆分 对big key存储的数据big value进行拆分变成value1、value2、valuen等等。 例如big value是个大json通过mset的方式将这个key的内容打散到各个实例中或者一个hash每个field代表一个具体属性通过hget、hmget获取部分valuehsethmset来更新部分属性。 例如big value是个大list可以将list拆成多个list。