Redis五种数据类型的基本命令如下:
一、字符串类型(String)
字符串是Redis最基础的数据类型,可存储任意形式的字符串,包括文本、数字或二进制数据。
核心命令:
- GET/SET:GET key获取值,SET key value设置值(值含空格需用双引号包裹)。
- 数值操作:INCR key(整数递增,默认0→1)、DECR key(整数递减,默认0→-1)、INCRBY key increment(增加指定整数)、DECRBY key increment(减少指定整数)、INCRBYFLOAT key increment(增加浮点数)。
- 追加与长度:APPEND key value追加内容并返回总长度,STRLEN key获取字符串长度(UTF-8编码下中文占3字节)。
- 批量操作:MGET key [key...]获取多个键值,MSET key value [key value...]设置多个键值。
- 位操作:GETBIT key offset获取二进制位值,SETBIT key offset value设置位值,BITCOUNT key统计二进制中1的个数,BITOP支持位运算(AND/OR/XOR/NOT)。
二、散列类型(Hash)
散列用于存储键值对集合,适合表示对象结构。
核心命令:
- 字段设置:HSET key field value设置单个字段,HMSET key field value [field value...]设置多个字段。
- 字段读取:HGET key field获取单个字段值,HMGET key field [field...]获取多个字段值,HGETALL key获取全部字段及值。
- 字段管理:HEXISTS key field判断字段是否存在,HDEL key field [field...]删除字段,HLEN key返回字段总数。
- 数值操作:HINCRBY key field increment增加字段数值(仅整数),HSETNX key field value仅当字段不存在时设置值。
- 字段遍历:HKEYS key获取所有字段名,HVALS key获取所有字段值。
三、列表类型(List)
列表是双向链表结构,支持两端高效操作,但索引访问较慢。
核心命令:
- 元素增删:LPUSH key value [value...]从左侧插入,RPUSH key value [value...]从右侧插入,LPOP key移除左侧第一个元素,RPOP key移除右侧第一个元素。
- 范围操作:LRANGE key start stop获取列表片段(支持负索引,如-1表示末尾),LTRIM key start stop保留指定片段。
- 索引与修改:LINDEX key index获取索引元素,LSET key index value修改索引元素值。
- 其他操作:LLEN key获取列表长度,LREM key count value删除指定值元素(count>0从左删,count<0从右删,count=0全删),RPOPLPUSH source destination将元素从源列表移至目标列表。
四、集合类型(Set)
集合存储唯一无序元素,内部通过哈希表实现。
核心命令:
- 元素管理:SADD key member [member...]添加元素,SREM key member [member...]删除元素,SMEMBERS key获取全部元素,SISMEMBER key member判断元素是否存在。
- 集合运算:SDIFF key [key...]求差集(如A-B),SINTER key [key...]求交集,SUNION key [key...]求并集;SDIFFSTORE/SINTERSTORE/SUNIONSTORE将运算结果存储至新集合。
- 随机操作:SRANDMEMBER key [count]随机获取元素(count>0返回不重复元素,count<0可能重复),SPOP key [count]随机弹出元素。
- 数量统计:SCARD key返回集合元素总数。
五、有序集合类型(ZSet)
有序集合为唯一元素关联分数(double类型),按分数排序。
核心命令:
- 元素管理:ZADD key score member [score member...]添加/更新元素,ZSCORE key member获取元素分数,ZREM key member [member...]删除元素。
- 范围查询:ZRANGE key start stop [WITHSCORES]按分数升序获取元素,ZREVRANGE key start stop [WITHSCORES]按分数降序获取;ZRANGEBYSCORE key min max获取指定分数范围元素(支持(min排除边界),ZREVRANGEBYSCORE为降序版本。
- 分数操作:ZINCRBY key increment member增加元素分数,ZCOUNT key min max统计分数范围内元素数量。
- 排名与集合运算:ZRANK key member获取元素升序排名,ZREVRANK key member获取降序排名;ZUNIONSTORE/ZINTERSTORE支持有序集合的并集/交集运算并存储结果。