Redis学习笔记 (四) 之KEY相关命令
2017-11-16 16:04
686 查看
转自:http://blog.csdn.net/men_wen/article/details/61222069
KEYS
查找所有符合给定模式pattern(正则表达式)的 key 。
2
3
4
5
6
7
8
9
10
11
12
13
14
常用的正则表达式
2
3
4
EXISTS
返回key是否存在
2
3
4
TYPE
返回key所存储的value的数据结构类型,它可以返回string, list, set, zset 和 hash等不同的类型。
2
3
4
5
6
EXPIRE
设置key的过期时间,超过时间后,将会自动删除该key。
2
3
4
5
6
7
8
9
10
11
EXPRIEAT
EXPIREAT 的作用和 EXPIRE类似,都用于为 key 设置生存时间。不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳 Unix timestamp 。
2
3
4
PEXPIRE
这个命令和EXPIRE命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像EXPIRE命令那样,以秒为单位。
2
3
4
5
6
7
8
PEXPIREAT
PEXPIREAT 这个命令和EXPIREAT命令类似,但它以毫秒为单位设置 key 的过期 unix 时间戳,而不是像EXPIREAT那样,以秒为单位。
2
3
4
TTL
返回key剩余的过期时间。 这种反射能力允许Redis客户端检查指定key在数据集里面剩余的有效期。
2
PTTL
这个命令类似于TTL命令,但它以毫秒为单位返回 key 的剩余生存时间。
2
PERSIST
移除给定key的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。
2
3
4
DEL
删除指定的key,如果删除的key不存在,则直接忽略。
2
RANDOMKEY
从当前数据库返回一个随机的key。
2
3
4
5
6
RENAME
将key重命名为newkey,如果key与newkey相同,将返回一个错误。如果newkey已经存在,则值将被覆盖。
2
3
4
5
6
RENAMENX
当且仅当 newkey 不存在时,将 key 改名为newkey 。当 key 不存在时,返回一个错误。
2
3
4
DUMP
序列化给定 key ,并返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键。
2
3
4
RESTORE
反序列化给定的序列化值,并将它和给定的 key 关联。
参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。
RESTORE 在执行反序列化之前会先对序列化值的 RDB 版本和数据校验和进行检查,如果 RDB 版本不相同或者数据不完整的话,那么 RESTORE 会拒绝进行反序列化,并返回一个错误。
2
3
4
MOVE
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。
KEY 相关命令
KEYS 查找所有符合给定模式pattern(正则表达式)的 key 。
KEYS pattern1
127.0.0.1:6379> KEYS * 1) "say" 2) "res" 3) "userInfo2" 4) "test7" 5) "test4" 6) "userInfo3" 7) "counter" 8) "test6" 9) "TEST" 10) "foo" 11) "test2" 12) "test5" 13) "test8"1
2
3
4
5
6
7
8
9
10
11
12
13
14
常用的正则表达式
* :匹配任意个字符 ? :匹配一个任意字符 [] :匹配[]之间的一个字符 \x:匹配特殊字符1
2
3
4
EXISTS
返回key是否存在
EXISTS key [key ...]1
127.0.0.1:6379> EXISTS counter (integer) 1 127.0.0.1:6379> EXISTS counters (integer) 01
2
3
4
TYPE
返回key所存储的value的数据结构类型,它可以返回string, list, set, zset 和 hash等不同的类型。
TYPE key1
127.0.0.1:6379> TYPE linux string 127.0.0.1:6379> TYPE userInfo //不存在的key返回none none 127.0.0.1:6379> TYPE userInfo1 hash1
2
3
4
5
6
EXPIRE
设置key的过期时间,超过时间后,将会自动删除该key。
EXPIRE key seconds1
127.0.0.1:6379> EXPIRE linux 10 //设置过期时间10秒 (integer) 1 127.0.0.1:6379> TTL linux (integer) 3 127.0.0.1:6379> EXPIRE linux 10 (integer) 1 127.0.0.1:6379> TTL linux (integer) 8 127.0.0.1:6379> TTL linux (integer) -2 //如果key已经存在过期时间,在通过EXPIRE设置的时候会覆盖之前过期。1
2
3
4
5
6
7
8
9
10
11
EXPRIEAT
EXPIREAT 的作用和 EXPIRE类似,都用于为 key 设置生存时间。不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳 Unix timestamp 。
EXPIREAT key timestamp1
127.0.0.1:6379> EXPIREAT test3 2293840000 (integer) 1 127.0.0.1:6379> TTL test3 (integer) 8046840051
2
3
4
PEXPIRE
这个命令和EXPIRE命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像EXPIRE命令那样,以秒为单位。
PEXPIRE key milliseconds1
127.0.0.1:6379> PEXPIRE test3 10000 (integer) 1 127.0.0.1:6379> PTTL test3 (integer) 1848 127.0.0.1:6379> PTTL test3 (integer) 432 127.0.0.1:6379> PTTL test3 (integer) -21
2
3
4
5
6
7
8
PEXPIREAT
PEXPIREAT 这个命令和EXPIREAT命令类似,但它以毫秒为单位设置 key 的过期 unix 时间戳,而不是像EXPIREAT那样,以秒为单位。
PEXPIREAT key milliseconds-timestamp1
127.0.0.1:6379> PEXPIREAT TEST 1555555555005 (integer) 1 127.0.0.1:6379> PTTL TEST (integer) 663991268571
2
3
4
TTL
返回key剩余的过期时间。 这种反射能力允许Redis客户端检查指定key在数据集里面剩余的有效期。
TTL key1
127.0.0.1:6379> TTL TEST //返回的单位是秒 (integer) 663989751
2
PTTL
这个命令类似于TTL命令,但它以毫秒为单位返回 key 的剩余生存时间。
PTTL key1
127.0.0.1:6379> PTTL TEST (integer) 663988794271
2
PERSIST
移除给定key的生存时间,将这个 key 从『易失的』(带生存时间 key )转换成『持久的』(一个不带生存时间、永不过期的 key )。
PERSIST key1
127.0.0.1:6379> PERSIST TEST (integer) 1 127.0.0.1:6379> TTL TEST //TEST变为永久有效 (integer) -11
2
3
4
DEL
删除指定的key,如果删除的key不存在,则直接忽略。
DEL key [key ...]1
127.0.0.1:6379> DEL TEST test4 test5 (integer) 3 //删除3个keys1
2
RANDOMKEY
从当前数据库返回一个随机的key。
RANDOMKEY -1
127.0.0.1:6379> RANDOMKEY "test7" 127.0.0.1:6379> RANDOMKEY "userInfo2" 127.0.0.1:6379> RANDOMKEY "userInfo1"1
2
3
4
5
6
RENAME
将key重命名为newkey,如果key与newkey相同,将返回一个错误。如果newkey已经存在,则值将被覆盖。
RENAME key newkey1
127.0.0.1:6379> RENAME test8 test88 OK 127.0.0.1:6379> GET test8 (nil) 127.0.0.1:6379> GET test88 "8"1
2
3
4
5
6
RENAMENX
当且仅当 newkey 不存在时,将 key 改名为newkey 。当 key 不存在时,返回一个错误。
RENAMENX key newkey1
127.0.0.1:6379> EXISTS hello //hello存在 (integer) 1 127.0.0.1:6379> RENAMENX foo hello (integer) 01
2
3
4
DUMP
序列化给定 key ,并返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键。
DUMP key1
127.0.0.1:6379> SET test "this is a test" OK 127.0.0.1:6379> DUMP test "\x00\x0ethis is a test\a\x00\x0fH\xad\xf8\x92*xq"1
2
3
4
RESTORE
反序列化给定的序列化值,并将它和给定的 key 关联。
参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。
RESTORE 在执行反序列化之前会先对序列化值的 RDB 版本和数据校验和进行检查,如果 RDB 版本不相同或者数据不完整的话,那么 RESTORE 会拒绝进行反序列化,并返回一个错误。
RESTORE key ttl serialized-value [REPLACE]1
127.0.0.1:6379> RESTORE testDump 0 "\x00\x0ethis is a test\a\x00\x0fH\xad\xf8\x92*xq" //ttl为0不设置生存时间 OK 127.0.0.1:6379> GET testDump "this is a test"1
2
3
4
MOVE
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。
MOVE key db1
127.0.0.1:6379> SET testMove MOVE OK 127.0.0.1:6379> GET testMove "MOVE" 127.0.0.1:6379> MOVE testMove 1 (integer) 1 127.0.0.1:6379> SELECT 1 OK 127.0.0.1:6379[1]> EXISTS testMove (integer) 1
相关文章推荐
- Redis学习笔记2--Redis数据类型及相关命令
- redis学习笔记5,键值相关命令+Redis高级使用特性
- Redis之KEY操作命令 【学习笔记】
- Redis学习笔记2--Redis数据类型及相关命令
- Redis 学习笔记(二):数据类型与相关命令
- Redis学习笔记(八)事务 和 连接相关命令
- Redis学习记录之命令KEY(七)
- Android adb命令学习笔记(一)——adb介绍以及关于传输文件等相关基本命令
- Redis 常用命令学习笔记
- WinDbg学习笔记十一 - 内核调试常用命令5 - 对象相关
- Redis 学习(一) —— 安装、通用key操作命令
- Linux学习笔记_系统操作、优化相关命令复习(shutdown,reboot,yum)
- Redis学习手册(Key操作命令)
- Redis学习笔记--info命令结果解析
- Redis 学习笔记--数据类型常用命令
- Redis学习记录之命令KEY(五)
- Redis 学习笔记(十)Redis sort 排序命令详解
- JAVAWEB开发之redis学习(五)——SortedSet集合相关的操作命令
- JAVAWEB开发之redis学习(六)——HashSet集合相关的操作命令
- linux 学习笔记(一)(基础命令及文件相关命令)