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

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

五中基本数据类型

nullstringlisthashsetsort-set
设置变量setlpush(头插法)\rpush(尾插法)hsetsaddzadd
获取变量getlpop\rpophgetsmembers
获取长度strlenllenhlenscardzcard
删除变量dellremhdelsremzrem
特殊操作
nullincr/递增lindex/获取指定索引元素hscan/迭代键值对spop/移除返回一个随机元素zcount/统计score区间数量
nullincrby/加某个值lrang/获取指定范围hgetall/获取键值对sunion/sunionstore 并集/并集保存到指定集合zrange/zrevrange(大到小)返回指定集合 - withscores(带scores字段)
nullappend/字符串追加ltrim/保留指定位置元素hkeys/获取所有键sdiff/差(追加到某个集合和上面一样加个store)zrank/返回排名
nullsubstr/截取字符串nullhvals/获取所有值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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值