redis五种基本数据类型和数据通用指令

用于学习后的自己总结,如有错漏恳请指教

五中基本数据类型

null string list hash set sort-set
设置变量 set lpush(头插法)\rpush(尾插法) hset sadd zadd
获取变量 get lpop\rpop hget smembers
获取长度 strlen llen hlen scard zcard
删除变量 del lrem hdel srem zrem
特殊操作
null incr/递增 lindex/获取指定索引元素 hscan/迭代键值对 spop/移除返回一个随机元素 zcount/统计score区间数量
null incrby/加某个值 lrang/获取指定范围 hgetall/获取键值对 sunion/sunionstore 并集/并集保存到指定集合 zrange/zrevrange(大到小)返回指定集合 - withscores(带scores字段)
null append/字符串追加 ltrim/保留指定位置元素 hkeys/获取所有键 sdiff/差(追加到某个集合和上面一样加个store) zrank/返回排名
null substr/截取字符串 null hvals/获取所有值 sinter/交

高级数据类型

1、bitmaps
意义:前面的基本数据类型都是按字节来算,有时候觉得太浪费空间想要按位来算,应用于场景—学号为1的人是男生,学号为2的人是女生等等,那么可以0代表男生,1代表女生,那这个班级就是一串【01】字符串。(只能设置成0和1)
操作:
getbit:获取某一位的值
setbit:设置某一位的值,只能为0和1
bitcount:统计1的个数,例如想统计女生的格式就使用该指令,统计男生个数就用总人数减去该指令获得的数据
bitop:对key进行按位运算,且或非等运算

2、hyperloglog
意义:在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的只需要花费12KB内存,就可以计算接近2的64次方个不同的基数。ps:有人问set集合也可以统计不重复个数,但set集合他大呀哈哈哈哈。
注意事项:该类型只用于统计基数,不像set集合一样可以获取元素本身,该类型没有类似get元素的操作。并且统计基数时候还会存在0.81%左右的误差,所以要应用于一些可接受该范围误差的统计上,例如系统用户量、点赞收藏个数,千万别应用于一些金钱上面(你试试给我缺1毛钱!腿给你打断)
操作
pfadd:添加数据
pfcount:统计基数数量
pfmerge:合并数据

3、geo
意义:类似百度、高德地图的坐标操作
操作
geoadd:增加一个点
geopos:获取一个点
geodist:获取点与点之间的距离
georadius:根据坐标求范围内的值(例如开车的时候,你的坐标并非存在库里面的也不应该存在库里面 只是一个临时的点,这时候用该指令,与下面做对比)
georadiusmember:根据点求范围内的值(例如天安门这种景点是在库里面存在的一个数据,就用该指令)

通用指令

del:删除一个key
exits:是否存在对应的key
type:获取key的类型
expire:设置key的有效时间(秒)
pexpire:设置key的有效时间(毫秒)
ttl/pttl:获取key的有效时间(ps:返回-2证明key失效了或者根本不存在,-1永久有效,其他数值为有效时间)
rename:将key改名
renamex:将key改名,解决上面指令在改名时候把其他key覆盖了

未完待续…tobecontinue

猜你喜欢

转载自blog.csdn.net/weixin_43118891/article/details/108620138