Redis————数据结构(String、hash、list、set、zset、bitmap、geo、hyperloglog)

本文详细介绍了 Redis 中常用的数据结构,包括字符串、哈希、列表、集合、有序集合等,以及它们的操作命令,如设置、获取、删除、更新等。此外,还提到了位图、地理位置和 HyperLogLog 等高级数据结构及其应用场景,对于理解 Redis 的功能和使用非常有帮助。
摘要由CSDN通过智能技术生成

1.string——字符串

命令描述使用场景
keys *查看所有key;支持模糊匹配
set key value [expiration EX seconds | PX milliseconds] [NX | XX]设置key的值:EX seconds – 设置键key的过期时间,单位时秒
PX milliseconds – 设置键key的过期时间,单位时毫秒
NX – 只有键key不存在的时候才会设置key的值
XX – 只有键key存在的时候才会设置key的值
get key获取key的value
exists key判断key是否存在
del key删除key
move key db移动key到某个db
expire key 10设置key的过期时间为10s
ttl key查看key的剩余时间
type key查看key的类型
append key value在key后面追加value;如果不存在,等同于 set key value
strlen key查看key对应的value的字符长度
incr key对key自增
decr key对key自减
incrby key increment对key增加指定的步长
decrby key decrement对key减少指定的步长
getrange key start end截取key的部分内容 start:0 end:-1 所有 闭区间
setrange key offset value替换指定位置的字符
setex key seconds value设置key的过期时间
setnx key value在key不存在的时候设置值为value
mset key value [key value…]设置多个key和value
mget key [key…]获取多个key的value
msetnx key value [key value…]当存在时不会设置成功 原子性
mset key value [key value …]设置多个key
mget key [key …]获取多个key的值
getset key value将给定 key 的值设为 value ,并返回 key 的旧值(old value)

2.hash——哈希

命令描述
hset key field value设置key的field值为value
hget key field获取key的field的值
hmset key field value [field value …]设置key的多个属性和值
hmget key field [field …]获取key的指定属性的值
hgetall key获取key的所有属性和值
hdel key field [field …]删除key下指定的属性
hlen key获取key的属性个数
hexists key field判断是否存在某个属性
hkeys key获取key所有的key
hvals key获取key所有的value
hincrby key field increment给key的filed属性增加指定的步长
hsetnx key field value当key的属性不存在时,设置值;存在不执行
hscan key cursor [MATCH pattern] [COUNT count]获取指定游标且匹配filed(可以模糊)指定返回个数的属性和对应的值 注意: 版本>3.2 、属性少的时候不生效

3.list——有序集合

命令描述
lpush key value [value …]头部插入数据
lrange key start stop获取数据:start 到stop 闭区间 stop:-1代表全部
rpush key value [value …]尾部插入数据
lpop key移除最左一个元素
rpop key移除最后一个元素
lindex key index获取指定下标,index:-1 为最后一个
llen key获取集合长度
lrem key count value移除集合中指定数量和值的元素
ltrim key start stop裁剪指定长度的集合:原来的集合会被改变
rpoplpush source destination将source集合的最后一个元素放到destination集合的头部
lset key index value在已存在的集合中指定下标更新元素
linsert key BEFORE|AFTER pivot value在指定元素之前/之后插入元素

4.set——无序不重复集合

命令描述
sadd key member [member …]set集合插入元素
smembers key获取set集合的元素
SISMEMBER key member查看集合中是否存在某个元素
scard key获取集合中的元素个数
srem key member [member …]移除集合中指定的元素
SRANDMEMBER key [count]随机获取指定个数的元素返回
spop key [count]随机删除指定个数的元素
smove source destination member将source集合中指定的元素移除到destination集合中
SDIFF key [key …]以第一个集合为主,求多个集合的差集
SINTER key [key …]多个集合的交集
SUNION key [key …]多个集合的并集

5.zset——有序不重复集合

命令描述
zadd key [NX | XX] [CH] [INCR] score member [score member …]添加元素,指定score
zcard key获取集合中的元素个数
zcount key min max统计score在min到max闭区间的元素个数
zincrby key increment member
zrange key start stop [WITHSCORES]从小到大排序
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
zrank key member查询指定元素的排名,从小到大
zrem key member [member …]移除指定的元素
zremrangebyrank key start stop
zremrangebyscore key min max
zrevrange key start stop [WITHSCORES]
zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]从大到小排序
zrevrank key member查询指定元素的排名,从大到小
zscore key member
zunionstore destination numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM | MIN | MAX
zinterstore destination numkeys key [key …] [WEIGHTS weight] [AGGREGATE SUM | MIN | MAX]
zscan key cursor [MATCH pattern] [COUNT count]

6.bitmap——位图

命令描述
setbit key offset value对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)
getbit key offset获取指定偏移量的bit
bitcount key [start end]指定范围统计key的bit为1的数量

7.geo——地理位置

命令描述
geoadd key longitude latitude member [longitude latitude member …]添加地理坐标
geopos key member [member …]获取指定点的坐标
geodist key member1 member2 [unit]获取两点的直线距离 指定单位 m km mi-英里 ft-英尺
georadius key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC |DESC] [STORE key] [STOREDIST key]获取指定经纬度 指定半径范围内的地理位置信息
georadiusbymember key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC | DESC] [STORE key] [STOREDIST key]获取指定地点 指定半径范围内的地理位置信息
geohash key member [member …]获取指定位置的hash字符串

8.hyperloglog

命令描述
pfadd key element [element …]添加元素
pfcount key [key …]获取几个key不重复的元素个数
pfmerge destkey sourcekey [sourcekey …]将几个key合并后输出到目标key
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值