redis

redis数据结构和使用场景笔记

2022-03-04  本文已影响0人  pq217

redis包含五种数据结构:String,Hash,List,Set,Zset

String

存储字符串,最常用的一种,这个不做多解释了

常用命令
SET key value // 存入键值对
GET key // 通过建获取值
EXPIRE key seconds // 设置某个键过期时间
DEL key... // 删除一个或多个key
SETNX key value // 存入键值对,如果键已存在,返回0代表失败,否则返回1代表成功,适合做分布式锁
INCR key //原子加1
DECR key //原子减1
INCRBY key n //原子加n
DECRBY key n //原子减n
使用场景

Hash

可以理解为存储一个HashMap结构的value,而redis本身就相当于一个map,这个可以理解为map下的map

常用命令
HSET key field value // 代表key下面存储的是一个hash,这句话的意思是给hash的field字段存储value
HGET key field // 获取key下field字段的value
HSETNX key field value // 存入某key下的键(字段)值对,如果字段已存在,返回0代表失败,否则返回1代表成功
HINCRBY key field n // 原子加n
HLEN key // 获取某key下的字段数
HGETALL key // 获取某key下的所有键值
使用场景

hash很像一个string的分组,比如说有很多键值对组成一个组整体数据,可以通过hash来建立这个组

List

这个好理解,就是存储一个列表,可以再左侧或右侧添加,也可以从左侧和右侧取出,所以可以当队列和栈使用

常用命令
LPUSH key value... // 从key列表左侧添加一个或多个元素
RPUSH key value... // 从key列表右侧添加一个或多个元素
LPOP key // 移除并返回key列表的左侧元素
RPOP key // 移除并返回key列表的右侧元素
LRANGE key start stop // 返回列表key中指定区间内的元素,区间以偏移量start和stop指定
BLPOP key... timeout // 从key列表左侧弹出第一个元素,若列表为空,阻塞等待timeout秒(timeout=0则一直等待)
BRPOP key... timeout // 从key列表右侧弹出第一个元素,若列表为空,阻塞等待timeout秒(timeout=0则一直等待)
使用场景

Set

不重复的集合

常用命令
SADD  key  value...     //  往集合key中存入元素
SREM  key  value... // 从集合key中删除元素
SMEMBERS  key       // 获取集合key中所有元素
SCARD  key          // 获取集合key的元素个数
SISMEMBER  key  value  // 判断value元素是否存在于集合key中
SRANDMEMBER  key  [count]    // 从集合key中选出count个元素
SPOP  key  [count]               // 从集合key中选出count个元素并删除
SINTER  key...               // 交集运算
SINTERSTORE  destination  key...     // 将交集结果存入新集合destination中
SUNION  key...          // 并集运算
SDIFF  key...               // 差集运算
使用场景

Zset

对set的扩展,有序集合,集合每个元素都有一个分数值

常用命令
ZADD key [score value]...   //  往有序集合key中加入带分值score的元素
ZREM key value…     // 从有序集合key中删除元素
ZSCORE key value            // 返回有序集合key中元素value的分值
ZINCRBY key n value     // 为有序集合key中元素value的分值加上n 
ZCARD key               // 返回有序集合key中元素个数
ZRANGE key start stop [WITHSCORES]  // 正序获取有序集合key从start下标到stop下标的元素
ZREVRANGE key start stop [WITHSCORES]   // 倒序获取有序集合key从start下标到stop下标的元素
ZUNIONSTORE destkey numkeys key...  // 并集计算
ZINTERSTORE destkey numkeys key...  // 交集计算
使用场景
上一篇 下一篇

猜你喜欢

热点阅读