Redis(四)——Redis Key 基本命令及 String 类型详解

Redis(四)——Redis Key 基本命令及 String 类型详解

1、Redis Key基本命令

Redis Key(键)命令用于管理 redis 的键。

语法

Redis 键命令的基本语法如下:

redis 127.0.0.1:6379> COMMAND KEY_NAME

Redis Key 使用案例:

127.0.0.1:6379> set name wanli  
OK
127.0.0.1:6379> set pwd 123
OK
127.0.0.1:6379> keys *
1) "name"
2) "pwd"
#-----------------------判断是否存在某个key-----------------------
127.0.0.1:6379> exists name   #判断是否存在某个key,
(integer) 1   #存在为1,
127.0.0.1:6379> exists name1
(integer) 0   #不存在为0
#-----------------------把指定key移动到指定数据库-----------------------
127.0.0.1:6379> move name 1  #把名为name的key移动到1号数据库
(integer) 1
127.0.0.1:6379> keys *
1) "pwd"
127.0.0.1:6379> select 1    #切换到1号数据库
OK
127.0.0.1:6379[1]> keys *   #key移动成功
1) "name"
127.0.0.1:6379[1]> flushdb  #清除1号数据库
OK
127.0.0.1:6379[1]> keys *  
(empty array)
#-----------------------指定key的过期时间-----------------------
127.0.0.1:6379> expire pwd 15  #指定名为pwd的key 15s后过期
(integer) 1
127.0.0.1:6379> ttl pwd  #查看还有多少时间过期
(integer) 11
127.0.0.1:6379> ttl pwd
(integer) 2
127.0.0.1:6379> ttl pwd
(integer) -2        #key已经过期了
127.0.0.1:6379> get pwd   
(nil)
127.0.0.1:6379> keys *
(empty array)   
#-----------------------查看key的类型-----------------------
127.0.0.1:6379> type pwd
string

更多常用的Redis Key命令请参照下表:更多命令请参考:https://redis.io/commands

序号命令及描述
1DEL key 该命令用于在 key 存在时删除 key。
2DUMP key 序列化给定 key ,并返回被序列化的值。
3EXISTS key 检查给定 key 是否存在。
4EXPIRE key seconds 为给定 key 设置过期时间,以秒计。
5EXPIREAT key timestamp EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
6PEXPIRE key milliseconds 设置 key 的过期时间以毫秒计。
7PEXPIREAT key milliseconds-timestamp 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
8KEYS pattern 查找所有符合给定模式( pattern)的 key 。
9MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中。
10PERSIST key 移除 key 的过期时间,key 将持久保持。
11PTTL key 以毫秒为单位返回 key 的剩余的过期时间。
12TTL key 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
13RANDOMKEY 从当前数据库中随机返回一个 key 。
14RENAME key newkey 修改 key 的名称
15RENAMENX key newkey 仅当 newkey 不存在时,将 key 改名为 newkey 。
16SCAN cursor MATCH pattern] [COUNT count 迭代数据库中的数据库键。
17TYPE key 返回 key 所储存的值的类型。

参考自菜鸟教程:https://www.runoob.com/redis/redis-keys.html

2、Redis 字符串(String)类型

Redis 字符串数据类型的相关命令用于管理 redis 字符串值,基本语法如下:

语法:

redis 127.0.0.1:6379> COMMAND KEY_NAME

使用实例:

#-----------------------key-value的存取-----------------------
127.0.0.1:6379> set key1 wanli
OK
127.0.0.1:6379> get key1
"wanli"
#---------------------- 将指定的 value 追加到该 key 原来值(value)的末尾-------------
127.0.0.1:6379> append key1 hello
(integer) 10
127.0.0.1:6379> get key1
"wanlihello"
127.0.0.1:6379> append key1 "hi"
(integer) 12
127.0.0.1:6379> get key1
"wanlihellohi"
127.0.0.1:6379> append key3 taoxian  #如果指定的key不存在,就会创建该指定key,并赋于value
(integer) 7
127.0.0.1:6379> get key3
"taoxian"
#------------------------判断key是否存在-----------------------
127.0.0.1:6379> set key2 shenming
OK
127.0.0.1:6379> exists key1 key2
(integer) 2
#------------------------获取指定key的长度-----------------------
127.0.0.1:6379> strlen key1
(integer) 12
#------------------------操作key中储存的数字-----------------------
127.0.0.1:6379> set view 10
OK
127.0.0.1:6379> get view
"10"
127.0.0.1:6379> incr view  #将 key 中储存的数字值减一
(integer) 11
127.0.0.1:6379> incr view
(integer) 12
127.0.0.1:6379> get view
"12"
127.0.0.1:6379> decr view  #将 key 中储存的数字值减一
(integer) 11
127.0.0.1:6379> decr view
(integer) 10
127.0.0.1:6379> get view
"10"
127.0.0.1:6379> 
127.0.0.1:6379> incrby view 5 #将 key 所储存的值加上给定的增量值
(integer) 15
127.0.0.1:6379> decrby view 5 #将 key 所储存的值减去给定的减量值
(integer) 10
127.0.0.1:6379> 
#------------------------查看字符串范围-----------------------
127.0.0.1:6379> set key1 wanliguyichegn
OK
127.0.0.1:6379> GETRANGE key1 0 4  #查看[0,4]
"wanli"
127.0.0.1:6379> GETRANGE key1 0 -1 #查看所有字符串所有内容,相当于get key
"wanliguyichegn"
#------------------------替换字符串内容-----------------------
127.0.0.1:6379> set key2 abcde
OK
127.0.0.1:6379> getrange key2 0 -1
"abcde"
127.0.0.1:6379> setrange key2 2 **  #替换第二个字符后面的内容
(integer) 5
127.0.0.1:6379> get key2
"ab**e"
127.0.0.1:6379> setrange key2 2 $$$$$$$$  
(integer) 10
127.0.0.1:6379> get key2
"ab$$$$$$$$"
#------------------------setex(set with expire)-----------------------
127.0.0.1:6379> keys *
1) "key1"
2) "key2"
127.0.0.1:6379> setex key3 10 hello #将值value关联到 key ,并将key 的过期时间设为 10s
OK
127.0.0.1:6379> ttl key3
(integer) 5
127.0.0.1:6379> keys *
1) "key1"
2) "key2"
#------------------------setnx(set if not exist )-----------------------
127.0.0.1:6379> keys * #当前数据库所有key
1) "key1"
2) "key2"
127.0.0.1:6379> setnx key3 hi #只有在 key 不存在时设置 key 的值。
(integer) 1  #为1,表示设置成功
127.0.0.1:6379> keys *
1) "key3"
2) "key1"
3) "key2"
127.0.0.1:6379> setnx key3 hi  
(integer) 0    #为0,表示设置失败
127.0.0.1:6379> setnx key3 hello
(integer) 0
#------------------------批量存取key-value-----------------------
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3  #批量设置
OK
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"
127.0.0.1:6379> mget k1 k2 k3  #批量取出
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> msetnx k1 v1 k4 v4 #当不存在时创建
(integer) 0 #失败了,因为msetnx是原子性操作,要么都成功,要么都失败
127.0.0.1:6379> keys * 
1) "k3"
2) "k2"
3) "k1"
127.0.0.1:6379> 
#------------------------组合命令 getset-----------------------
127.0.0.1:6379> getset k4 hello #先get再set,get不到就返回nil
(nil)
127.0.0.1:6379> get k4 #set值成功
"hello"
127.0.0.1:6379> getset k4 hi #先get原来的值,替换成新的值
"hello"
127.0.0.1:6379> get k4  #替换成功
"hi"
#------------------------对象形式的key命令-----------------------
127.0.0.1:6379> mset user:1:name wanli user:1:age 3
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "wanli"
2) "3"

更多命令请参考:https://redis.io/commands

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万里顾—程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值