Redis 命令解析大全
一、Redis keys 命令
如果命令执行成功,则命令执行后输出 (integer) 1,否则将输出 (integer) 0
- 新建key
set keyname redis
192.168.182.10:6379> set villian redis
OK
- 删除key
del keyname
192.168.182.10:6379> del villian
(integer) 1
- 清空当前数据库所有key
flushdb
192.168.182.10:6379> flushdb
OK
192.168.182.10:6379> randomkey ///返回key值
(nil)
- 序列化给定 key ,并返回被序列化的值
dump keyname
192.168.182.10:6379> dump villian
"\x00\x05redis\x06\x00S\xbd\xc1q\x17z\x81\xb2"
- 检查给定 key 是否存在
exists keyname
192.168.182.10:6379> exists villian
(integer) 1
- 为给定 key 设置过期时间,以秒计,时间一到,自动删除
EXPIRE keyname seconds
192.168.182.10:6379> expire villian 10
(integer) 1
192.168.182.10:6379> keys *
1) "villian"
192.168.182.10:6379> keys *
(empty list or set)
- 设置过期时间戳
EXPIREAT keyname timestamp
是记录日期时间的,例如,在用相机拍照时设置选择时间戳,拍摄的照片就会自动添加拍照时的日期。
192.168.182.10:6379> expireat villian 1293840000
(integer) 1
192.168.182.10:6379> exists villian
(integer) 0
- 设置 key 的过期时间以毫秒计
PEXPIRE keyname milliseconds
192.168.182.10:6379> pexpire villian 10 ///10毫秒存活
(integer) 1
192.168.182.10:6379> exists villian
(integer) 0
- 设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
PEXPIREAT key milliseconds-timestamp
192.168.182.10:6379> pexpireat villian 1555555555005
(integer) 1
192.168.182.10:6379> exists villian
(integer) 0
- 移除 key 的过期时间,key 将持久保持
PERSIST key
192.168.182.10:6379> set villian redis ///新建villian
OK
192.168.182.10:6379> keys *
1) "villian"
2) "villian3"
3) "villian2"
192.168.182.10:6379> expire villian 100 ///设置100秒过期时间
(integer) 1
192.168.182.10:6379> ttl villian ///查看当前剩余时间
(integer) 97
192.168.182.10:6379> persist villian ///移除过期时间
(integer) 1
192.168.182.10:6379> ttl villian ///查看当前剩余时间,-1为永久存在
(integer) -1
- 以秒为单位,返回给定 key 的剩余生存时间
TTL key
192.168.182.10:6379> expire villian 100 ///设置100秒过期时间
(integer) 1
192.168.182.10:6379> ttl villian ///查看当前剩余时间
(integer) 97
- 以毫秒为单位,返回给定 key 的剩余生存时间
PTTL key
192.168.182.10:6379> expire villian 100
192.168.182.10:6379> pttl villian
(integer) 85171
- 查找所有符合给定模式( pattern)的 key
KEYS pattern
192.168.182.10:6379> set villian1 redis
OK
192.168.182.10:6379> set villian2 mysql
OK
192.168.182.10:6379> set villian3 nginx
OK
192.168.182.10:6379> keys villian*
1) "villian3"
2) "villian1"
3) "villian2"
192.168.182.10:6379> keys *
1) "villian3"
2) "villian1"
3) "villian2"
- 将当前数据库的 key 移动到给定的数据库 db 当中
MOVE key db
redis 数据库中默认设有16个库(0-15)
192.168.182.10:6379> keys *
1) "villian3"
2) "villian1"
3) "villian2"
192.168.182.10:6379> move villian1 1 ///移动至库1
(integer) 1
192.168.182.10:6379> exists villian1
(integer) 0
192.168.182.10:6379> select 1
OK
192.168.182.10:6379[1]> keys * ///库1中查询
1) "villian1"
- 从当前数据库中随机返回一个 key
RANDOMKEY
192.168.182.10:6379> mset fruit "apple" drink "beer" food "cookies"
OK
192.168.182.10:6379> randomkey
"fruit"
192.168.182.10:6379> randomkey
"food"
192.168.182.10:6379> randomkey
"drink"
192.168.182.10:6379> keys * ///查看数据库内所有key,证明 RANDOMKEY 并不删除 key
1) "food"
2) "fruit"
3) "drink"
- 修改 key 的名称
RENAME key newkey
192.168.182.10:6379> keys *
1) "villian"
192.168.182.10:6379> rename villian zwl
OK
192.168.182.10:6379> keys *
1) "zwl"
- 返回 key 所储存的值的类型
TYPE key
192.168.182.10:6379> type zwl
string
二、Redis 字符串(String)
- 设置指定 key 的值
SET key value
192.168.182.10:6379> set villian "hello world"
OK
- 获取指定 key 的值
GET key
192.168.182.10:6379> get villian
"hello world"
- 返回 key 中字符串值的子字符
GETRANGE key start end
192.168.182.10:6379> set villian "This is my test key"
OK
192.168.182.10:6379> get villian
"This is my test key"
192.168.182.10:6379> getrange villian 0 3
"This"
192.168.182.10:6379> getrange villian 0 -1
"This is my test key"
- 将给定 key 的值设为 value ,并返回 key 的旧值(old value)(更换key值)
GETSET key value
192.168.182.10:6379> set villian redis
OK
192.168.182.10:6379> get villian
"redis"
192.168.182.10:6379> getset villian nginx
"redis"
192.168.182.10:6379> get villian
"nginx"
- 返回所有(一个或多个)给定 key 的值, 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil
MGET key1 [key2..]
192.168.182.10:6379> set key1 "hello"
OK
192.168.182.10:6379> set key2 "nihao"
OK
192.168.182.10:6379> mget key1 key2 someotherkey
1) "hello"
2) "nihao"
3) (nil)
- 将 key 中储存的数字值增一
INCR key
192.168.182.10:6379> set page_view 10
OK
192.168.182.10:6379> incr page_view
(integer) 11
192.168.182.10:6379> get page_view
"11"
- 将 key 所储存的值加上给定的增量值
INCRBY key increment
192.168.182.10:6379> set rank 50
OK
192.168.182.10:6379> incrby rank 20
(integer) 70
192.168.182.10:6379> get rank
"70"
- 将 key 中储存的数字值减一
DECR key
192.168.182.10:6379> set page_view 20
OK
192.168.182.10:6379> decr page_view
(integer) 19
192.168.182.10:6379> get page_view
"19"
- key 所储存的值减去给定的减量值
DECRBY key decrement
192.168.182.10:6379> set page_view 100
OK
192.168.182.10:6379> decrby page_view 20
(integer) 80
192.168.182.10:6379> get page_view
"80"
192.168.182.10:6379> exists page ///对不存在值的进行加减
(integer) 0
192.168.182.10:6379> decrby page 10
(integer) -10
转载至:https://www.runoob.com/redis/redis-commands.html