网站链接提交,网站备案名字填写,金融行业做网站,轮播网站一、Redis常用的5种数据类型
字符串#xff08;String#xff09;#xff1a;最基本的数据类型#xff0c;可以存储字符串、整数或浮点数。哈希#xff08;Hash#xff09;#xff1a;键值对的集合#xff0c;可以在一个哈希数据结构中存储多个字段和值。列表#xf…一、Redis常用的5种数据类型
字符串String最基本的数据类型可以存储字符串、整数或浮点数。哈希Hash键值对的集合可以在一个哈希数据结构中存储多个字段和值。列表List按照插入顺序存储一组有序的值可以在列表的两端执行插入、删除和访问操作。集合Set无序的唯一值的集合支持对集合执行添加、删除和集合间的交集、并集、差集等操作。有序集合Sorted Set也叫Zset类似于集合但每个成员都关联着一个分数score可以根据分数对成员进行排序同时保持唯一性。
二、String类型
常用操作
SET key value设置指定 key 的值为给定的 value。GET key获取指定 key 的值。DEL key删除指定的 key。MSET key value [key value ...]批量设置key value。MGET key [key ...]批量获得key value。SETEX key seconds value设置指定 key 的值并指定过期时间以秒为单位。SETNX key value设置 key 不存在的key value如果key存在那么当前value不会覆盖已存在key的value。STRLEN key返回指定 key 的值的长度。
原子加减操作
INCR key将指定 key 的值加 1。DECR key将指定 key 的值减 1。INCRBY key increment将指定key的value与increment相加只针对数字类型。DECEBY key decrement将指定key的value减去decrement只针对数字类型。APPEND key value将指定 value 追加到指定 key 的值末尾。GETSET key value设置指定 key 的新值并返回旧值。
单值缓存操作
SET key valueGET key
对象缓存操作
SET user:1 value(value是一个JSON字符串)MSET user:1:name zhangsan user:1:age 18
分布式锁操作
SETNX lock_key 1 (lock_key要锁的键 1 可以是任意非空的值用于表示锁的存在。结果返回0表示false1表示true)DEL lock_key //执行完业务逻辑释放锁SETEX lock_key expiration_time 1(设置有时效的锁)
Sting类型适用场景
例如统计一篇文章的阅读量在业务场景上来说用户打开一篇文章则1那么可以使用redis的计数器。使用incr article:readcount:1000每执行一次表示文章ID为1000的累加一次。article:readcount是我们自定义的前缀为了更好的见名识义Web集群session共享spring session redis实现session共享分布式全局序列号使用redis批量生成序列号提升性能INCRBY orderId 1
三、Hash类型
常用操作
HSET key field value设置 Hash 中指定键的字段和值。HGET key field获取 Hash 中指定键的字段的值。HDEL key field1 [field2 ...]删除 Hash 中指定键的一个或多个字段。HEXISTS key field检查 Hash 中指定键是否存在指定字段。HKEYS key获取 Hash 中指定键的所有字段名。HVALS key获取 Hash 中指定键的所有字段值。HGETALL key获取 Hash 中指定键的所有字段和值。HINCRBY key field increment将 Hash 中指定键的字段值按给定增量递增。HLEN key获取 Hash 中指定键的字段数量。
对象缓存操作
HMSET key field1 value1 [field2 value2 ...]同时设置 Hash 中指定键的多个字段和值。HMGET key field1获取 Hash 中指定键的字段值。
四、List类型
常用操作
LPUSH key element1 [element2 ...]将一个或多个元素从左侧插入到列表中。RPUSH key element1 [element2 ...]将一个或多个元素从右侧插入到列表中。LPOP key从左侧移除并返回列表中的第一个元素。RPOP key从右侧移除并返回列表中的最后一个元素。BRPOP key [key ...] timeout从右侧移除一个元素如果没有则等待timeout是等待时长(秒)0则一直等待LINDEX key index获取列表中指定索引位置的元素值。LRANGE key start stop获取列表中指定范围内的元素列表。LLEN key获取列表的长度即列表中元素的数量。LREM key count element从列表中移除指定数量的匹配元素。LINSERT key BEFORE|AFTER pivot element在列表中指定元素的前面或后面插入一个元素。LSET key index element将列表中指定索引位置的元素替换为新的值。
五、Set类型
常用操作
SADD key member1 [member2 ...]将一个或多个成员添加到集合中成员存在则忽略不存在则新建。SREM key member1 [member2 ...]从集合中移除一个或多个成员。SISMEMBER key member检查指定成员是否存在于集合中。SMEMBERS key获取集合中的所有成员。SCARD key获取集合中的成员数量。SPOP key [count]从集合中随机移除并返回一个或多个成员。SRANDMEMBER key [count]从集合中随机获取一个或多个成员但不移除。SDIFF key1 [key2 ...]获取多个集合的差集。计算公式为list1-(list2、list2、...的并集)第一个集合减去其他几个集合的并集。排除相同的元素第一个集合剩下的就是并集SINTER key1 [key2 ...]获取多个集合的交集。SUNION key1 [key2 ...]获取多个集合的并集。
六、Sorted Set(Zset)
ZADD key score1 member1 [score2 member2 ...]将一个或多个成员及其分数添加到有序集合中。各参数的具体含义key为键score为member的分数用于排序member是key的值可以批量添加。ZREM key member1 [member2 ...]从有序集合中移除一个或多个成员。ZSCORE key member获取有序集合中指定成员的分数。ZRANGE key start stop [WITHSCORES]按照分数从小到大的顺序获取有序集合中指定索引范围内的成员。ZREVRANGE key start stop [WITHSCORES]按照分数从大到小的顺序获取有序集合中指定索引范围内的成员。ZCARD key获取有序集合中的成员数量。ZCOUNT key min max计算有序集合中分数在给定范围内的成员数量。ZRANK key member获取有序集合中指定成员的排名排名从0开始。按照分数从小到大的顺序。ZREVRANK key member获取有序集合中指定成员的排名按照分数从大到小的顺序。ZINCRBY key increment member将有序集合中指定成员的分数增加给定的增量值。