Redis基本数据类型常用命令总结

Redis基本数据类型

Redis共有五种基本数据类型,String,Hash,List,Set,

Sting类型常用命令

set key value [expiration EX seconds|PX milliseconds] [NX|XX]

EX seconds : 将键的过期时间设置为 seconds 秒。 执行 SET key value EX seconds 的效果等同于执行 SETEX key seconds value。
PX milliseconds : 将键的过期时间设置为 milliseconds 毫秒。 执行 SET key value PX milliseconds 的效果等同于执行 PSETEX key milliseconds value 。
NX : 只在键不存在时, 才对键进行设置操作。 执行 SET key value NX 的效果等同于执行 SETNX key value
XX : 只在键已经存在时, 才对键进行设置操作。

# 存入字符串键值对
set key value
# 获取一个字符串键值
get key
# 批量存入字符串键值对
mset key value [key vlaue ...]
# 批量获取字符串键值
mget key [key ...]
#删除一个或多个键
del key [key ...]
# 设置一个键的过期时间
expire key seconds
# 只在key不存在时进行设置
setnx key value


// 原子加减操作
# 将key中存储的数值加1
incr key
# 将key中存储的数值减1
decr key
# 将key中存储的数值加上增量increment
incrby key increment
# 将key中存储的数值递减decrement
decrby key decrement

Hash常用命令

# 存储一个哈希表key的键值
hset key field value
# 获取一个哈希表key的键值
hget key field
# 批量存储
hmset key field value [field value ...]
# 批量获取
hmget key field [field ...]
# 只在哈希表中key键值不存在时进行设置
hsetnx key field value
# 删除哈希表key中一个或多个field键值
hdel key field [field ...]
# 返回key中field的个数
hlen key
# 返回key中所有的键值
hgetall key
# 整数递增
hincrby key field increment
# float递增
hincrbyfloat key field increment

List常用命令

# 将一个或多个value插入到表头
lpush key value [value ...]

# 将一个或多个value插入到表尾
rpush key value [value ...]

# 从表头读取数据并移除
lpop key

# 从表尾读取数据并移除
rpop key

# 返回列表key中指定区间的元素
lrange key start stop

# 快速获取列表中全部元素
lrange key 0 -1

# 从表头弹出一个元素,如果不存在阻塞等待timeout秒,若timeout设置为0则一直等待
blpop key [key ...] timeout

# 查看表中元素的个数
llen key

# 通过索引获取元素
lindex key index

# 在指定元素pivot前后插入元素value
linsert key before|after pivot value

# 移除列表中count个与value相等的元素
#count>0 从表头开始搜索移除
#count<0 从表尾开始搜索移除
#count=0 移除全部
lrem list count value

# 更改指定位置元素
lset key index value

# 向已存在列表表头添加元素
lpushx key value

# 保留指定区间元素其余删除
ltrim key start stop

Set常用命令

# 向set中插入成员
sadd ket member [member ...]
# 删除成员
srem key member [member ...]
# 查询set中成员数量
scard key
# 获取set全部成员
smembers key
# 从set中随机获取count个成员,不移除成员
srandmember ket count
# 从set中随机获取count个成员,并移除成员
spop key count
# 判断成员是否在set中,若在返回1,没有则为0
sismember key member
# 将成员从A集合移动到B集合
smove setA setB member

运算操作

# 返回多个集合的交集
sinter key [key ...]
# 返回多个集合的交集并存入集合A中
sinterstore setA key [key ...]
# 返回多个集合的并集
sunion key [key ...]
# 返回多个集合的并集并存入集合A
sunionstoer setA key [key ...]
# 返回多个集合的差集
sdiff key [key ...]
# 返回多个集合的差集并存入集合A中
sdiffstore setA key [key ...]

Zset常用命令

zadd key [NX|XX] [CH] [INCR] score member [score member ...]

NX: 不更新存在的成员。只添加新成员。
XX: 仅仅更新存在的成员,不添加新成员。
CH: 修改返回值为发生变化的成员总数,原始是返回新添加成员的总数 (CH 是 changed 的意思)。更改的元素是新添加的成员,已经存在的成员更新分数。 所以在命令中指定的成员有相同的分数将不被计算在内。注:在通常情况下,ZADD返回值只计算新添加成员的数量。
INCR: 当ZADD指定这个选项时,成员的操作就等同ZINCRBY命令,对成员的分数进行递增操作。

# 添加
zadd key score member [score member ...]

# 对指定成员分数增量increment,返回值为分数
zincrby key increment member

# 返回指定分数区间的成员数量
zcount key min max

# 返回指定分数区间的成员
zrangebyscore key min max 

# 返回指定索引区间的成员
zrange key start start stop //从低到高
zrevrange key start stop //从高到低

# 返回成员数量
zcard key 

# 返回指定成员的索引
zrank key member

# 删除成员
zrem key member [member ...]

# 删除指定索引区间的全部成员
zremrangebyrank key start stop

# 删除指定分数区间的全部成员
zremrangebyscore key start stop
发布了11 篇原创文章 · 获赞 0 · 访问量 165

猜你喜欢

转载自blog.csdn.net/qq_41541368/article/details/104073202