Redis五大数据类型 三种特殊数据类型

五大数据类型:String List Set Hash Zset

三种特殊数据类型: Bitmap, Hyperloglogs, Geospatial

String讲解:


大部分使用的都是String类型的数据

使用append key "string"在key值后追加字符串string(如果当前key不存在,等同于set key)

使用strlen key 获取字符串的长度

使用incr key自增操作

使用decr key 自减操作

使用incrby key num 自增num

使用decrby key num 自减num

使用getrange key num1 num2 截取字符串(左右闭区间)(0 -1 可以查看全部)

使用setrange key num string替换字符串(从num开始替换)

使用setex key num value设置键值以及过期时间

使用setnx key value 如果不存在key则设置该键值对

使用mset [key value]批量设置键值对

使用mget [key]批量获取键值

使用msetnx [key value]不存在的情况下,批量设置键值对(原子性操作)

使用getset key value 进行先获取key值再设置key值

List讲解:


可以是队列,栈,双队列...

list命令一般都是L开头

使用lpush key value 添加数据name为list名字(插入头部(左))

使用rpush key value 添加数据(插入尾部(右))

使用lrange key num1 num2 获取指定范围的数据

使用lrange key 0 -1获取list中的所有数据

使用lpop key 移除尾部数据(左移除)

使用rpop key 移除头部数据(右移除)

使用lindex key num 输出指定下标数据

使用llen key输出长度

使用lrem key num value移除num个key中值为value的数据

使用ltrim key num1 num2 截取指定区间的数据,其他区间数据被截断(移除)

使用rpoplpush key1 key2将key1尾数据转移到key2头数据中

使用exists [key]查看指定key是否存在

使用lset index value更新指定下标的数据(不存在该下标则报错)

使用linsert key before|after value1 value2 在key的value1前或后插入数据value2

Set讲解:


Set命令一般都是S开头 Set中不存在重复值 Set为乱序

使用sadd key [value] 添加数据

使用smembers key查看所有数据

使用sismember key value 查看key中是否包含该元素

使用scart key 查看元素个数

使用srem key [value]移除指定元素

使用srandmember key {num}随机获取元素

使用spop key{num}随机移除元素

使用smove key1 key2 value将key1中的value转移到key2中

使用sdiff key [key]查看key中存在 其他key中不存在的value(差集)

使用sinsert key [key]查看指定的key中都存在的value(交集)

使用sunion key [key]并集

Hash讲解:


Hash命令一般为H开头,特点:存的value为键值对

使用hset key key value 添加数据

使用hmset key [key value] 批量添加数据(存在key会被覆盖)

使用hget key key1获取key1对应的数据

使用hmget key [key]批量获取数据

使用hgetall key获取所有值

使用hdel key key删除指定键值

使用hlen key获取数据个数

使用hexists key key 查看某个键值是否存在

使用hkeys key 获取所有的key(只有key,无value)

使用hvals key获取所有的value(只有value,无key)

使用hincrby key key num 自增num

使用hsetnx key key value 如果不存在对应的键则添加该键值,否则不添加

Zset讲解:


使用zadd key [num value]添加值(根据num进行排序)

使用zrange key 0 -1查看所有元素(升序)

使用zrevrange myzset 0 -1 [withscores] 查看所有元素(降序)

使用zrangebyscore key -inf +inf升序查看所有数据

使用zrangebyscore key -inf +inf withscores 升序查看所有数据 附带排序值

使用zrangebyscore key -inf num 查看范围从最小到num区间的数据(举一反三 略)

使用zrem key value 移除某个元素

使用zcard key 查看元素个数

使用zcount key min max 获取指定区间的数据

Geospatial(地理位置)讲解:


数据有三个参数 经度 纬度 名称(两极无法添加) 经度必须在纬度之前

有效的经度从-180度到180度。

有效的纬度从-85.05112878度到85.05112878度。

当坐标位置超出上述指定范围时,该命令将会返回一个错误。

命令geo开头

使用geoadd key [longitude latitude member] 添加数据

使用geopos key [member] 获取经纬度信息

使用geodist key member1 member2[unit] 获取两个地区之间的距离(unit:m km mi ft)

使用

georadius key longitude latitude value m|km|mi|ft [withcoord] [withdist][withhash][count num]

以给定的经纬度为中心,找出某一半径内的元素

使用georadiusbymember 同上 根据member来查找

使用geohash key [member]返回经纬度数据的哈希值

geo是基于Zset来实现的,可以通过Zset来进行操作

使用zrange key 0 -1查看所有member

使用zrem key [member]删除指定的member

Hyperloglog讲解:


hyperloglog用于基数统计 如果允许容错(0.81%),可以使用hyperloglog

命令pf开头

使用pfadd key [value] 添加数据

使用pfcount [key] 统计基数

使用pfmerge newkey [oldkey] 并集

Bitmap(位图)讲解:


用于位存储,操作二进制位来进行记录,只有0 1 两种状态

使用setbit key offset value来进行记录(offset从0开始)

使用getbit key offset 查看指定位状态

使用bitcount key查看1状态总数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫荒莫慌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值