本文共 2686 字,大约阅读时间需要 8 分钟。
Redis作为一个强大的事务性数据库,提供了丰富的数据结构类型,每种数据结构都有其独特的应用场景。本文将详细介绍Redis的五大核心数据结构:String、Hash、List、Set以及Zset,并阐述其操作命令及应用场景。
存入字符串键值对
# 存入字符串键值对SET key valuekey value# 批量存储字符串键值对MSET key value [key value ...]key value [key value ...]# 存入一个不存在的字符串键值对SETNX key valuekey value# 获取一个字符串键值GET keykey# 批量获取字符串键值MGET key [key ...]key [key ...]# 删除一个键DEL key [key ...]key [key ...]# 设置一个键的过期时间(秒)EXPIRE key secondskey seconds
原子加减运算
# 将key中储存的数字值加1INCR keykey# 将key中储存的数字值减1DECR keykey# 将key所储存的值加上incrementINCRBY key incrementkey increment# 将key所储存的值减去decrementDECRBY key decrementkey decrement
# 存储一个哈希表key的键值HSET key field valuekey field value# 存储一个不存在的哈希表key的键值HSETNX key field valuekey field value# 存储多个键值对HMSET key field value [field value ...]key field value [field value ...]# 获取哈希表key对应的field键值HGET key fieldkey field# 批量获取多个field键值HMGET key field [field ...]key field [field ...]# 删除哈希表key中的field键值HDEL key field [field ...]key field [field ...]# 返回哈希表key中field的数量HLEN keykey# 返回哈希表key中所有的键值HGETALL keykey# 为哈希表key中field键的值加上增量incrementHINCRBY key field incrementkey field increment
# 往集合key中存入元素,元素存在则忽略,若key不存在则新建SADD key member [member ...]key member [member ...]# 从集合key中删除元素SREM key member [member ...]key member [member ...]# 获取集合key中所有元素SMEMBERS keykey# 获取集合key的元素个数SCARD keykey# 判断member元素是否存在于集合key中SISMEMBER key memberkey member# 从集合key中选出count个元素,元素不从key中删除SRANDMEMBER key [count]key [count]# 从集合key中选出count个元素,元素从key中删除SPOP key [count]key [count]
# 往有序集合key中加入带分值元素ZADD key score member [[score member]…]key score member [[score member]…]# 从有序集合key中删除元素ZREM key member [member …]key member [member …]# 返回有序集合key中元素member的分值ZSCORE key memberkey member# 为有序集合key中元素member的分值加上incrementZINCRBY key increment memberkey increment member# 返回有序集合key中元素个数ZCARD keykey# 正序获取有序集合key从start下标到stop下标的元素ZRANGE key start stop [WITHSCORES]key start stop [WITHSCORES]# 倒序获取有序集合key从start下标到stop下标的元素ZREVRANGE key start stop [WITHSCORES]key start stop [WITHSCORES]
Redis的五大核心数据结构(String、Hash、List、Set、Zset)各有特点,适用于不同的场景。String适合存储简单的键值对,Hash适合存储对象数据,List实现栈、队列,Set用于集合运算,Zset则结合了Set和有序集合的优点,适合需要排序的场景。理解和合理使用这些数据结构,可以充分发挥Redis的优越性能。
转载地址:http://nytfk.baihongyu.com/