Redis常用数据类型总结

Redis常用数据类型总结

数据类型描述常用命令
String简单的键值对,值可以是字符串、整数或浮点数。适合缓存和计数器。SET, GET, INCR, DECR, MSET
List有序的字符串列表,可以用作队列或堆栈。适合消息队列、任务队列。LPUSH, RPUSH, LPOP, RPOP, LRANGE
Set无序的字符串集合,集合中的元素是唯一的。适合好友关系、标签。SADD, SREM, SMEMBERS, SINTER
Hash存储键值对的集合,类似于Map或Dictionary。适合对象数据存储。HSET, HGET, HGETALL, HDEL
ZSet有序集合,元素具有唯一性且每个元素关联一个评分(score)。适合排行榜、优先队列。ZADD, ZRANGE, ZREM, ZSCORE
Bitmap位数组,可以进行按位操作,适合状态存储、计数。SETBIT, GETBIT, BITCOUNT, BITOP
HyperLogLog用于基数统计,近似统计数据的唯一值数量。适合大规模数据基数统计。PFADD, PFCOUNT, PFMERGE
Geo存储地理位置信息,支持地理空间操作。适合地理位置信息存储。GEOADD, GEODIST, GEORADIUS, GEOPOS
Stream日志结构,用于存储消息流,支持消费组。适合实时日志、消息系统。XADD, XREAD, XGROUP, XACK

1、字符串常用命令总结

命令描述示例具体使用示例
SET设置指定键的值SET key valueSET mykey "Hello"
GET获取指定键的值GET keyGET mykey
INCR将指定键的值加1(该值必须是整数)INCR keyINCR counter
DECR将指定键的值减1(该值必须是整数)DECR keyDECR counter
MSET同时设置多个键值对MSET key1 value1 key2 value2MSET key1 "Hello" key2 "World"
MGET获取所有(一个或多个)给定键的值MGET key1 key2MGET key1 key2
APPEND将值追加到指定键的值末尾APPEND key valueAPPEND mykey " World"
STRLEN获取指定键的值的长度STRLEN keySTRLEN mykey
SETRANGE用指定的字符串覆盖键中指定的偏移量开始的值SETRANGE key offset valueSETRANGE mykey 6 "Redis"
GETRANGE返回存储在键中的字符串的子字符串GETRANGE key start endGETRANGE mykey 0 4
SETEX设置键的值并设置过期时间(以秒为单位)SETEX key seconds valueSETEX mykey 10 "Hello"
PSETEX设置键的值并设置过期时间(以毫秒为单位)PSETEX key milliseconds valuePSETEX mykey 10000 "Hello"
SETNX只有在键不存在时,设置键的值SETNX key valueSETNX mykey "Hello"
MSETNX同时设置一个或多个键-值对,只有在所有给定键都不存在时才会设置MSETNX key1 value1 key2 value2MSETNX key1 "Hello" key2 "World"
GETSET将给定键的值设置为新值,并返回旧值GETSET key valueGETSET mykey "NewValue"
INCRBY将键所储存的值加上指定的增量值(该值必须是整数)INCRBY key incrementINCRBY counter 5
DECRBY将键所储存的值减去指定的减量值(该值必须是整数)DECRBY key decrementDECRBY counter 3
INCRBYFLOAT将键所储存的值加上指定的浮点数增量值INCRBYFLOAT key incrementINCRBYFLOAT counter 1.5
BITCOUNT统计字符串被设置为1的比特位的数量BITCOUNT keyBITCOUNT mykey
BITOP对一个或多个保存二进制位的字符串键进行位元操作BITOP operation destkey key1 [key2 ...]BITOP AND result key1 key2
SETBIT对键所储存的字符串值,设置或清除指定偏移量上的位SETBIT key offset valueSETBIT mykey 7 1
GETBIT对键所储存的字符串值,获取指定偏移量上的位GETBIT key offsetGETBIT mykey 7

2、哈希表Hash指令总结

命令描述示例具体使用示例
HSET为哈希表中的键设置值HSET key field valueHSET user:1000 name "John"
HGET获取哈希表中指定字段的值HGET key fieldHGET user:1000 name
HGETALL获取哈希表中所有字段和值HGETALL keyHGETALL user:1000
HMSET同时为多个字段设置值HMSET key field1 value1 field2 value2HMSET user:1000 name "John" age 30
HMGET获取哈希表中指定字段的值HMGET key field1 field2HMGET user:1000 name age
HDEL删除一个或多个哈希表字段HDEL key field1 [field2 ...]HDEL user:1000 age
HEXISTS检查哈希表中指定字段是否存在HEXISTS key fieldHEXISTS user:1000 name
HLEN获取哈希表中字段的数量HLEN keyHLEN user:1000
HKEYS获取哈希表中的所有字段名HKEYS keyHKEYS user:1000
HVALS获取哈希表中的所有值HVALS keyHVALS user:1000
HINCRBY为哈希表中的字段值加上指定增量(整数)HINCRBY key field incrementHINCRBY user:1000 age 1
HINCRBYFLOAT为哈希表中的字段值加上指定增量(浮点数)HINCRBYFLOAT key field incrementHINCRBYFLOAT user:1000 balance 12.5
HSTRLEN获取哈希表中字段值的长度HSTRLEN key fieldHSTRLEN user:1000 name
HSCAN迭代哈希表中的字段和值HSCAN key cursor [MATCH pattern] [COUNT count]HSCAN user:1000 0 MATCH na* COUNT 10

3、列表List常用命令总结

命令描述示例具体使用示例
LPUSH将一个或多个值插入到列表头部LPUSH key value1 [value2]LPUSH mylist "world"
RPUSH将一个或多个值插入到列表尾部RPUSH key value1 [value2]RPUSH mylist "hello"
LPOP移除并返回列表的第一个元素LPOP keyLPOP mylist
RPOP移除并返回列表的最后一个元素RPOP keyRPOP mylist
LINDEX获取列表中指定索引的元素LINDEX key indexLINDEX mylist 0
LLEN获取列表长度LLEN keyLLEN mylist
LRANGE获取列表指定范围内的元素LRANGE key start stopLRANGE mylist 0 -1
LREM移除列表中与指定值相等的元素LREM key count valueLREM mylist 2 "hello"
LSET将列表中指定位置的元素设置为新的值LSET key index valueLSET mylist 1 "world"
LTRIM修剪列表,使其只保留指定区间内的元素LTRIM key start stopLTRIM mylist 1 -1
RPOPLPUSH移除列表的最后一个元素,并将该元素添加到另一个列表并返回RPOPLPUSH source destinationRPOPLPUSH mylist anotherlist
BLPOP移除并返回列表的第一个元素,如果列表没有元素则阻塞直到等待超时或发现可弹出元素为止BLPOP key [key2 ...] timeoutBLPOP mylist 0
BRPOP移除并返回列表的最后一个元素,如果列表没有元素则阻塞直到等待超时或发现可弹出元素为止BRPOP key [key2 ...] timeoutBRPOP mylist 0
BRPOPLPUSH移除列表的最后一个元素,并将该元素添加到另一个列表并返回,如果列表没有元素则阻塞直到等待超时或发现可弹出元素为止BRPOPLPUSH source destination timeoutBRPOPLPUSH mylist anotherlist 0

4、集合set常用命令总结

命令描述示例具体使用示例
SADD向集合添加一个或多个成员SADD key member1 [member2]SADD myset "hello"
SREM移除集合中的一个或多个成员SREM key member1 [member2]SREM myset "hello"
SMEMBERS返回集合中的所有成员SMEMBERS keySMEMBERS myset
SISMEMBER判断成员元素是否是集合的成员SISMEMBER key memberSISMEMBER myset "hello"
SCARD返回集合中的成员数量SCARD keySCARD myset
SDIFF返回一个集合与其他集合的差集SDIFF key1 [key2]SDIFF myset1 myset2
SDIFFSTORE将一个集合与其他集合的差集存储在指定的集合中SDIFFSTORE destination key1 [key2]SDIFFSTORE resultset myset1 myset2
SINTER返回一个集合与其他集合的交集SINTER key1 [key2]SINTER myset1 myset2
SINTERSTORE将一个集合与其他集合的交集存储在指定的集合中SINTERSTORE destination key1 [key2]SINTERSTORE resultset myset1 myset2
SUNION返回所有给定集合的并集SUNION key1 [key2]SUNION myset1 myset2
SUNIONSTORE将所有给定集合的并集存储在指定的集合中SUNIONSTORE destination key1 [key2]SUNIONSTORE resultset myset1 myset2
SRANDMEMBER返回集合中的一个随机成员SRANDMEMBER keySRANDMEMBER myset
SPOP移除并返回集合中的一个随机成员SPOP keySPOP myset
SMOVE将成员元素从一个集合移动到另一个集合SMOVE source destination memberSMOVE myset1 myset2 "hello"
SSCAN迭代集合中的元素SSCAN key cursor [MATCH pattern] [COUNT count]SSCAN myset 0 MATCH he* COUNT 10

5、有序集合Sorted Set,ZSet常用命令总结

命令描述示例具体使用示例
ZADD向有序集合添加一个或多个成员,或更新已存在成员的分数ZADD key score1 member1 [score2 member2]ZADD myzset 1 "one"
ZREM移除有序集合中的一个或多个成员ZREM key member1 [member2]ZREM myzset "one"
ZSCORE返回有序集合中,成员的分数值ZSCORE key memberZSCORE myzset "one"
ZRANGE按索引区间返回有序集合成指定区间内的成员ZRANGE key start stop [WITHSCORES]ZRANGE myzset 0 -1 WITHSCORES
ZREVRANGE按索引区间返回有序集合中指定区间内的成员,按分数从高到低排序ZREVRANGE key start stop [WITHSCORES]ZREVRANGE myzset 0 -1 WITHSCORES
ZRANGEBYSCORE返回有序集合中指定分数区间内的成员ZRANGEBYSCORE key min max [WITHSCORES]ZRANGEBYSCORE myzset 1 2 WITHSCORES
ZREVRANGEBYSCORE返回有序集合中指定分数区间内的成员,按分数从高到低排序ZREVRANGEBYSCORE key max min [WITHSCORES]ZREVRANGEBYSCORE myzset 2 1 WITHSCORES
ZRANK返回有序集合中指定成员的排名(按分数从低到高排序)ZRANK key memberZRANK myzset "one"
ZREVRANK返回有序集合中指定成员的排名(按分数从高到低排序)ZREVRANK key memberZREVRANK myzset "one"
ZINCRBY有序集合中对指定成员的分数加上增量ZINCRBY key increment memberZINCRBY myzset 2 "one"
ZCARD获取有序集合的成员数量ZCARD keyZCARD myzset
ZCOUNT获取有序集合中指定分数区间的成员数量ZCOUNT key min maxZCOUNT myzset 1 2
ZRANGEBYLEX返回有序集合中指定字典区间内的成员ZRANGEBYLEX key min max [LIMIT offset count]ZRANGEBYLEX myzset [a [z
ZREMRANGEBYRANK移除有序集合中指定排名区间内的成员ZREMRANGEBYRANK key start stopZREMRANGEBYRANK myzset 0 1
ZREMRANGEBYSCORE移除有序集合中指定分数区间内的成员ZREMRANGEBYSCORE key min maxZREMRANGEBYSCORE myzset 1 2
ZREMRANGEBYLEX移除有序集合中指定字典区间内的成员ZREMRANGEBYLEX key min maxZREMRANGEBYLEX myzset [a [z
ZSCAN迭代有序集合中的元素(包括元素成员和元素分数)ZSCAN key cursor [MATCH pattern] [COUNT count]ZSCAN myzset 0 MATCH one* COUNT 10

6、通用命令总结

命令描述示例具体使用示例
DEL删除一个或多个键DEL key1 [key2]DEL mykey
EXISTS检查键是否存在EXISTS keyEXISTS mykey
EXPIRE为键设置过期时间(以秒为单位)EXPIRE key secondsEXPIRE mykey 10
TTL获取键的剩余过期时间(以秒为单位)TTL keyTTL mykey
PERSIST移除键的过期时间,使其成为持久键PERSIST keyPERSIST mykey
TYPE返回键的存储类型TYPE keyTYPE mykey
KEYS查找与给定模式匹配的所有键KEYS patternKEYS user:*
RENAME修改键的名称RENAME key newkeyRENAME mykey newkey
RANDOMKEY返回一个随机键RANDOMKEYRANDOMKEY
MOVE将键移动到指定的数据库MOVE key dbMOVE mykey 1
DBSIZE返回当前数据库的键数量DBSIZEDBSIZE
FLUSHDB删除当前数据库中的所有键FLUSHDBFLUSHDB
FLUSHALL删除所有数据库中的所有键FLUSHALLFLUSHALL
SCAN迭代当前数据库中的键SCAN cursor [MATCH pattern] [COUNT count]SCAN 0 MATCH user:* COUNT 10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值