首页 > 代码库 > redis manual

redis manual

1、setbit bitmap 99 1:标识n个事物的状态(0/1)。

2、数据结构优先采用hash:当hash中fields较少时,底层的物理存储使用ziplist压缩方式存储

3、zset:每个元素有一个score值,其大小决定元素顺序。

4、List、Hash、Set和Zset的元素个数不要超过5000个。

5、del删除一个key,通常认为是O(1)操作。删除一个String类型的key为 O(1),而set、list、hash等都是O(N),N是存储的数据个数。

6、MSET 1 str1 2 str2:多命令参数是原子性的,可以实现多个key的原子性操作。

7、使用pipeline:

  a、不是原子性操作,不能保证所有命令执行成功。

  b、pipeline可以把不同的命令操作打包在一起,建议单次pipeline的命令个数在50到300之间

8、scan:增量迭代读取大对象,可以取代一些O(N)操作,避免redis长时间被单个slow query阻塞

  a、scan命令用于迭代当前database中的所有key,可以优化keys *pattern*操作

  b、sscan命令用于迭代set中的key中的元素,可以优化smembers操作。

  c、hscan命令用于迭代hash中的所有fields和对应的value,优化hgetall和hkeys操作。

  d、zscan命令用于迭代sorted set中的元素(member and score)。

redis manual