Redis基础命令
基本命令
1. select 切换数据库
127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]> 2. dbsize 查看DB大小
127.0.0.1:6379[2]> dbsize
(integer) 0
127.0.0.1:6379[2]> 3. Keys * 查看当前库中所有的key
127.0.0.1:6379[2]> set a 123
OK
127.0.0.1:6379[2]> set b 222
OK
127.0.0.1:6379[2]> keys *
1) "a"
2) "b"
127.0.0.1:6379[2]> 4. flushdb 清空当前库
127.0.0.1:6379[2]> flushdb
OK
127.0.0.1:6379[2]> keys *
(empty array)
127.0.0.1:6379[2]> 5. flushall 清空所有库
127.0.0.1:6379[2]> flushall
OK
127.0.0.1:6379[2]> 6. exists 判断key是否存在
127.0.0.1:6379[2]> set a 123
OK
127.0.0.1:6379[2]> set b 222
OK
127.0.0.1:6379[2]> exists a
(integer) 1 # 存在返回1
127.0.0.1:6379[2]> exists c
(integer) 0 # 不存在返回0
127.0.0.1:6379[2]> 7. expire 设置key的过期时间
127.0.0.1:6379[2]> expire a 30 # 单位是秒
(integer) 18. ttl 查看key的剩余过期时间
127.0.0.1:6379[2]> ttl a
(integer) 28
127.0.0.1:6379[2]> ttl a
(integer) 26
127.0.0.1:6379[2]> ttl b
(integer) -1 # -1 没有过期时间,不会过期
127.0.0.1:6379[2]> 9. type查看key的类型
127.0.0.1:6379[2]> type b
string
127.0.0.1:6379[2]> 10. info replication 查看当前库主从信息
127.0.0.1:6379> info replication
# Replication
role:master # 当前角色
connected_slaves:0 # 没有从机
master_failover_state:no-failover
master_replid:dd97240949f1c206a54a3d5513eda5ea59b17703
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
127.0.0.1:6379> 11. SLAVEOF 选择主机
SLAVEOF ip地址 端口号字符串相关命令
1. set 设置值
127.0.0.1:6379> set a 123
OK
127.0.0.1:6379> 2. get 获取值
127.0.0.1:6379> get a
"123"
127.0.0.1:6379> 3. append 追加字符串
# 当key不存的时候会自动创建
127.0.0.1:6379> append a abc
(integer) 6
127.0.0.1:6379> append c 222
(integer) 3
127.0.0.1:6379> get a
"123abc"
127.0.0.1:6379> get c
"222"
127.0.0.1:6379> 4. strlen 获取字符串的长度
127.0.0.1:6379> strlen a
(integer) 6
127.0.0.1:6379> 5. incr 自增1
127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> incr views
(integer) 1
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> incr evi # 不存在的key会自增成为1
(integer) 1
127.0.0.1:6379> get evi
"1"
127.0.0.1:6379> 6. decr 自减1
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> decr views
(integer) 0
127.0.0.1:6379> decr views
(integer) -1
127.0.0.1:6379> get views
"-1"
127.0.0.1:6379> 7.incrby 自增指定步长
127.0.0.1:6379> incrby views 5
(integer) 4
127.0.0.1:6379> get views
"4"
127.0.0.1:6379> 8. decrby 自减指定步长
127.0.0.1:6379> get views
"4"
127.0.0.1:6379> decrby views 4
(integer) 0
127.0.0.1:6379> 9. getrange 获取字符串范围
127.0.0.1:6379> set a zheshiyigezifuc
OK
127.0.0.1:6379> get a
"zheshiyigezifuc"
127.0.0.1:6379> getrange a 0 3
"zhes"
127.0.0.1:6379> 10.setrange 指定位置开始替换字符串
127.0.0.1:6379> get a
"thishiyigezifuc" # 原字符串 zheshiyigezifuc
127.0.0.1:6379> 11. setex 设置过期时间
127.0.0.1:6379> setex b 30 "this is a book" # 单位是秒
OK
127.0.0.1:6379> ttl b
(integer) 27
127.0.0.1:6379> 12. setnx 不存在在设置
127.0.0.1:6379> setnx a 123
(integer) 0 # a是存在的,所以设置失败
127.0.0.1:6379> setnx c 222
(integer) 1 # c 不存在,设置成功
127.0.0.1:6379> 13. mset同时设置多个值
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> mset a 1 b 2 c 3
OK
127.0.0.1:6379> keys *
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> 14. mget 同时获取多个值
127.0.0.1:6379> mget a b c
1) "1"
2) "2"
3) "3"
127.0.0.1:6379> 15. msetnx 如果有一个值存在,就会设置不成功
127.0.0.1:6379> keys *
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> msetnx d 5 e 6
(integer) 1
127.0.0.1:6379> msetnx e 6 f 7
(integer) 0
127.0.0.1:6379> 15. getset 先获取在设置
127.0.0.1:6379> get a
"1"
127.0.0.1:6379> getset a 1122 # 先获取在设置
"1"
127.0.0.1:6379> get a
"1122"
127.0.0.1:6379> getset abc 123 # 不存在的返回nil
(nil)
127.0.0.1:6379> get abc
"123"
127.0.0.1:6379> list列表相关命令
1. lpush 将一个或多个值插入到列表左边
127.0.0.1:6379> lpush list 1 # 插入一个值
(integer) 1
127.0.0.1:6379> lpush list 2 3 # 插入多个值
(integer) 3
127.0.0.1:6379> 2. lrange 获取list中的值
127.0.0.1:6379> lrange list 0 1
1) "3"
2) "2"
127.0.0.1:6379> lrange list 0 -1
1) "3"
2) "2"
3) "1"3. rpush 将一个值或多个值插入到列表右边
127.0.0.1:6379> lrange list 0 -1
1) "3"
2) "2"
3) "1"
127.0.0.1:6379> rpush list 0
(integer) 4
127.0.0.1:6379> lrange list 0 -1
1) "3"
2) "2"
3) "1"
4) "0"
127.0.0.1:6379> 4. lpop 移除列表左边第一个或指定个数元素
127.0.0.1:6379> lrange list 0 -1
1) "3"
2) "2"
3) "1"
4) "0"
127.0.0.1:6379> lpop list # 移除左边第一个
"3"
127.0.0.1:6379> lrange list 0 -1
1) "2"
2) "1"
3) "0"
127.0.0.1:6379> lpop list 2 # 移除左边两个
1) "2"
2) "1"
127.0.0.1:6379> 5. rpop 移除列表右边第一个或指定个数元素
127.0.0.1:6379> lrange list 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
127.0.0.1:6379> rpop list
"1"
127.0.0.1:6379> lrange list 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
127.0.0.1:6379> rpop list 3
1) "2"
2) "3"
3) "4"
127.0.0.1:6379> lrange list 0 -1
1) "6"
2) "5"
127.0.0.1:6379> 6. lindex通过下标获取列表中的值
127.0.0.1:6379> lrange list 0 -1
1) "6"
2) "5"
127.0.0.1:6379> lindex list 1
"5"
127.0.0.1:6379> 7. llen获取列表长度
127.0.0.1:6379> llen list
(integer) 2
127.0.0.1:6379> 8. lrem移除集合中指定个数的元素
127.0.0.1:6379> lpush list 1 2 3 1 2
(integer) 5
127.0.0.1:6379> lrange list 0 -1
1) "2"
2) "1"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379> lrem list 1 1 # 从左边开始移除一个1
(integer) 1
127.0.0.1:6379> lrange list 0 -1
1) "2"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> lrem list 2 2 # 从左边开始移除2个2
(integer) 2
127.0.0.1:6379> lrange list 0 -1
1) "3"
2) "1"
127.0.0.1:6379> 9. ltrim 通过下标留下指定长度的元素
127.0.0.1:6379> lrange list 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "1"
127.0.0.1:6379> ltrim 1 2
127.0.0.1:6379> ltrim list 1 2 # 从index第1个开始,留下两个,但不包括index为1的值
OK
127.0.0.1:6379> lrange list 0 -1
1) "5"
2) "4"
127.0.0.1:6379> 10. rpoplpush将列表最后一个元素移动到新列表中
127.0.0.1:6379> lpush list 1 2 3 4 5
(integer) 5
127.0.0.1:6379> rpoplpush list list1
"1"
127.0.0.1:6379> lrange list1 0 -1
1) "1"
127.0.0.1:6379> 11. lset设置列表中指定index的值
127.0.0.1:6379> lpush list 1 2 3 4
(integer) 4
127.0.0.1:6379> lset list 0 0
OK
127.0.0.1:6379> lrange list 0 -1
1) "0"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> 12. linsert将具体的值插入到某个元素的前面或后面
127.0.0.1:6379> lrange list 0 -1
1) "0"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> linsert list before 1 h # 将h插在1前边
(integer) 5
127.0.0.1:6379> lrange list 0 -1
1) "0"
2) "3"
3) "2"
4) "h"
5) "1"
127.0.0.1:6379> linsert list after 3 hel # 将hel插在3后边
(integer) 6
127.0.0.1:6379> lrange list 0 -1
1) "0"
2) "3"
3) "hel"
4) "2"
5) "h"
6) "1"
127.0.0.1:6379> set集合相关命令
1. sadd 在集合中添加元素
127.0.0.1:6379> sadd set 1
(integer) 1
127.0.0.1:6379> sadd set 2 3 # 一次添加多个元素
(integer) 2
127.0.0.1:6379> 2. smembers 查看集合中所有的元素
127.0.0.1:6379> smembers set
1) "1"
2) "2"
3) "3"
127.0.0.1:6379> 3. sismember 判断某一个值是否是这个集合的
127.0.0.1:6379> sismember set 1
(integer) 1
127.0.0.1:6379> sismember set 6
(integer) 0 # 不属于该集合
127.0.0.1:6379> 4. scard 获取集合中的元素个数
127.0.0.1:6379> scard set
(integer) 3
127.0.0.1:6379> 5. srem 移除集合中的某个元素
127.0.0.1:6379> srem set 1
(integer) 1
127.0.0.1:6379> 6. srandmember 随机获取元素
127.0.0.1:6379> srandmember set # 随机获取一个元素
"3"
127.0.0.1:6379> srandmember set 2 # 随机获取两个元素
1) "2"
2) "3"
127.0.0.1:6379> 7. spop 随机删除一个元素
127.0.0.1:6379> smembers set
1) "2"
2) "3"
127.0.0.1:6379> spop set
"2"
127.0.0.1:6379> smembers set
1) "3"
127.0.0.1:6379> 8. smove 将集合中的指定元素移动到另外一个集合中
127.0.0.1:6379> sadd set 1 2 3 4 5
(integer) 5
127.0.0.1:6379> smove set set1 1
(integer) 1
127.0.0.1:6379> smembers set1
1) "1"
127.0.0.1:6379> 9. sdiff差集
127.0.0.1:6379> sadd set 1 2 3 4 5
(integer) 5
127.0.0.1:6379> sadd set1 4 3 6 7 8
(integer) 5
127.0.0.1:6379> sdiff set set1
1) "1"
2) "2"
3) "5"
127.0.0.1:6379> 10. sinter 交集
127.0.0.1:6379> sinter set set1
1) "3"
2) "4"
127.0.0.1:6379> 11. sunion并集
127.0.0.1:6379> sunion set set1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"
8) "8"
127.0.0.1:6379> hash哈希相关命令
1. hset设置一个key-value
127.0.0.1:6379> hset hash key1 value1
(integer) 1
127.0.0.1:6379> 2. hget获取一个hash字段值
127.0.0.1:6379> hget hash key1
"value1"
127.0.0.1:6379> 3. hmset 一次设置多个
127.0.0.1:6379> hmset hash key2 value2 key3 value3
OK
127.0.0.1:6379> 4. hmget 一次获取多个
127.0.0.1:6379> hmget hash key1 key2
1) "value1"
2) "value2"
127.0.0.1:6379> 5. hgetall 获取全部的
127.0.0.1:6379> hgetall hash
1) "key1"
2) "value1"
3) "key2"
4) "value2"
5) "key3"
6) "value3"
127.0.0.1:6379> 6. hdel 删除指定的
127.0.0.1:6379> hdel hash key1
(integer) 1
127.0.0.1:6379> 7. hlen 获取hash数量
127.0.0.1:6379> hlen hash
(integer) 2
127.0.0.1:6379> 8. hkeys获取所有hash中的键
127.0.0.1:6379> hkeys hash
1) "key2"
2) "key3"
127.0.0.1:6379> 9. hvals获取所有的值
127.0.0.1:6379> hvals hash
1) "value2"
2) "value3"
127.0.0.1:6379> 10. hincrby自增
127.0.0.1:6379> hset hash key 1
(integer) 1
127.0.0.1:6379> hincrby hash key 1
(integer) 2
127.0.0.1:6379> hincrby hash key -2
(integer) 0
127.0.0.1:6379> 11. hsetnx 如果不存在就可以创建
127.0.0.1:6379> hsetnx hash key 2
(integer) 0
127.0.0.1:6379> hsetnx hash key2 1
(integer) 1
127.0.0.1:6379> zset有序集合相关命令
1.zadd 添加一个值
127.0.0.1:6379> zadd set 1 a
(integer) 1
127.0.0.1:6379> zadd set 2 b 3 c # 添加多个值
(integer) 2
127.0.0.1:6379> 2.zrange 获取集合中的值
127.0.0.1:6379> zrange set 0 -1
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> 3. zrangebyscore从小到达排序
127.0.0.1:6379> zadd salary 2500 zhangsan 5000 lisi 3000 wangwu
(integer) 3
127.0.0.1:6379> zrangebyscore salary -inf +inf
1) "zhangsan"
2) "wangwu"
3) "lisi"
127.0.0.1:6379> 4. zrevrange 从大到小排序
127.0.0.1:6379> zrevrange salary 0 -1
1) "lisi"
2) "wangwu"
3) "zhangsan"
127.0.0.1:6379> 5.zrem移除指定元素
127.0.0.1:6379> zrem salary lisi
(integer) 1
127.0.0.1:6379> 6.zcard 获取有序集合个数
127.0.0.1:6379> zcard salary
(integer) 2
127.0.0.1:6379> Geospatial 地理位置相关命令
1.geoadd 添加一个经纬度
有效的经度从-180度到180度。
有效的纬度从-85.05112878度到85.05112878度。
127.0.0.1:6379> geoadd city 116.405285 39.904989 beijing
(integer) 1
127.0.0.1:6379> geoadd city 116.36003 39.9305 xicheng 116.2229 39.90564 shijingshan # 一次添加多个
(integer) 2
127.0.0.1:6379> 2. geopos 获取坐标值
127.0.0.1:6379> geopos city beijing
1) 1) "116.40528291463851929"
2) "39.9049884229125027"
127.0.0.1:6379> geopos city beijing shijingshan
1) 1) "116.40528291463851929"
2) "39.9049884229125027"
2) 1) "116.22289806604385376"
2) "39.90563984625044469"
127.0.0.1:6379> 3. geodist两个坐标之间的距离
- m 米
- km 千米
- mi 英里
- ft英尺
127.0.0.1:6379> geodist city beijing shijingshan m
"15561.6651"
127.0.0.1:6379> geodist city beijing shijingshan km
"15.5617"
127.0.0.1:6379> 4. georadius 获取附近位置通过半径查找
127.0.0.1:6379> georadius city 116.40528291463851929 39.9049884229125027 10 km # 10km为半径 116.40528291463851929经度 39.9049884229125027 纬度
1) "beijing"
2) "xicheng"
127.0.0.1:6379> georadius city 116.40528291463851929 39.9049884229125027 1 km
1) "beijing"
127.0.0.1:6379> georadius city 116.40528291463851929 39.9049884229125027 10 km withdist # 显示距离
1) 1) "beijing"
2) "0.0000"
2) 1) "xicheng"
2) "4.7912" # 距离中心多远
127.0.0.1:6379> georadius city 116.40528291463851929 39.9049884229125027 10 km withdist withcoord # 在加上显示经纬度
1) 1) "beijing"
2) "0.0000"
3) 1) "116.40528291463851929"
2) "39.9049884229125027"
2) 1) "xicheng"
2) "4.7912"
3) 1) "116.36002868413925171"
2) "39.93050039138125129"
127.0.0.1:6379> georadius city 116.40528291463851929 39.9049884229125027 10 km withdist withcoord count 1 # 在加上获取个数
1) 1) "beijing"
2) "0.0000"
3) 1) "116.40528291463851929"
2) "39.9049884229125027"
127.0.0.1:6379> 5. georadiusbymember 根据地理名称获取周围的信息
127.0.0.1:6379> georadiusbymember city beijing 10 km
1) "beijing"
2) "xicheng"
127.0.0.1:6379> 6. geohash 返回一个或多个元素的gohash标识
127.0.0.1:6379> geohash city beijing
1) "wx4g0b7xrt0"
127.0.0.1:6379> geohash city beijing shijingshan
1) "wx4g0b7xrt0"
2) "wx4eh8wgjy0"
127.0.0.1:6379> hyperloglog 相关命令
1. pfadd 创建一组元素
127.0.0.1:6379> pfadd key a b c d e
(integer) 1
127.0.0.1:6379> 2. pfcount 统计基数数量
127.0.0.1:6379> pfcount key
(integer) 5
127.0.0.1:6379> 3. pfmerge 合并两组
127.0.0.1:6379> pfcount key
(integer) 9
127.0.0.1:6379> pfadd key1 a b c h l m n
(integer) 1
127.0.0.1:6379> pfmerge key3 key key1
OK
127.0.0.1:6379> pfcount key3
(integer) 13
127.0.0.1:6379> bitmap 相关命令
1. setbit 设置
127.0.0.1:6379> setbit zhangsan 1 0
(integer) 0
127.0.0.1:6379> setbit zhangsan 2 0
(integer) 0
127.0.0.1:6379> setbit zhangsan 3 1
(integer) 0
127.0.0.1:6379> 2. getbit 获取
127.0.0.1:6379> getbit zhangsan 1
(integer) 0
127.0.0.1:6379> getbit zhangsan 3
(integer) 1
127.0.0.1:6379> 事务相关命令
1. multi 开启事务
127.0.0.1:6379> multi
OK
127.0.0.1:6379(TX)> set key 1
QUEUED
127.0.0.1:6379(TX)> set key1 2
QUEUED
127.0.0.1:6379(TX)> 2. exec 执行事务
127.0.0.1:6379(TX)> exec
1) OK
2) OK
127.0.0.1:6379> get key
"1"
127.0.0.1:6379> 3. discard 放弃事务
127.0.0.1:6379> multi
OK
127.0.0.1:6379(TX)> set a 123
QUEUED
127.0.0.1:6379(TX)> discard
OK
127.0.0.1:6379> get a
(nil)
127.0.0.1:6379>
2025年10月7日 18:23
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com