redis key的操作

来源:互联网 发布:八度网络空间 编辑:程序博客网 时间:2024/05/23 02:27

牛逼的人在干牛逼的事之前总有一段苦逼的岁月,只要像傻逼一样坚持,终究也会牛逼

redis命令参考:http://redisdoc.com/   返回1表示成功

DEL 删除key

删除单个key  

127.0.0.1:6379[5]> keys *
1) "k4"
2) "1k"
3) "k2"
4) "k3"
5) "k1"
127.0.0.1:6379[5]> del k4
(integer) 1
127.0.0.1:6379[5]> keys *
1) "1k"
2) "k2"
3) "k3"
4) "k1"

删除多个key 

127.0.0.1:6379[5]> del 1k k4
(integer) 1

127.0.0.1:6379[5]> keys *
1) "k2"
2) "k3"
3) "k1"


DUMP 序列化key,

如果 key 不存在,那么返回 nil 。
否则,返回序列化之后的值。
127.0.0.1:6379[5]> DUMP k1
"\x00\x03www\a\x00#\xe9\x9e\xb09\x1b\x00p"
127.0.0.1:6379[5]> DUMP k33
(nil)

EXISTS 检查key是否存在若 key 存在,返回 1 ,否则返回 0 

127.0.0.1:6379[5]> EXISTS k3

(integer) 1

EXPIRE 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。
设置成功返回 1 。当 key 不存在或者不能为 key 设置生存时间时,返回 0 
127.0.0.1:6379[5]> set k5 hahah
OK
127.0.0.1:6379[5]> expire k5 10     设置10秒过期删除
(integer) 1
10秒已过,被删除了,不存在了
127.0.0.1:6379[5]> exists k5
(integer) 0

KEYS pattern  查找所有符合给定模式 pattern 的 key
KEYS * 匹配数据库中所有 key 。
KEYS h?llo 匹配 hello , hallo 和 hxllo 等。
KEYS h*llo 匹配 hllo 和 heeeeello 等。
KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果需要从一个数据集中查找特定的 key ,最好还是用 Redis 的集合结构(set)来代替。
127.0.0.1:6379[5]> keys *
1) "k2"
2) "k3"
3) "k1"
127.0.0.1:6379[5]> keys k?
1) "k2"
2) "k3"
3) "k1"
127.0.0.1:6379[5]> set 2k oo
OK
127.0.0.1:6379[5]> keys ?k
1) "2k"
127.0.0.1:6379[5]> 

MOVE key db 将当前数据库的 key 移动到给定的数据库 db 当中移动成功返回 1 ,失败则返回 0 。
127.0.0.1:6379[5]> move k2 0     移到0号库
(integer) 1
查看0号库,是有k2的key的
127.0.0.1:6379[5]> select 0
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
3) "hello"

OBJECT 命令允许从内部察看给定 key 的 Redis 对象
  • OBJECT REFCOUNT <key> 返回给定 key 引用所储存的值的次数。此命令主要用于除错。
  • OBJECT ENCODING <key> 返回给定 key 锁储存的值所使用的内部表示(representation)。
  • OBJECT IDLETIME <key> 返回给定 key 自储存以来的空闲时间(idle, 没有被读取也没有被写入),以秒为单位。
  • REFCOUNT 和 IDLETIME 返回数字。
    ENCODING 返回相应的编码类型
127.0.0.1:6379[5]> object refcount k3
(integer) 2
127.0.0.1:6379[5]> object idletime k3
(integer) 4951
127.0.0.1:6379[5]> object encoding k3
"int"
127.0.0.1:6379[5]> 

127.0.0.1:6379[5]> get k3
"444"

PERSIST命令用于删除键所指定的过期时间。
127.0.0.1:6379[5]> expire k3 3600000
(integer) 1
设置过期时间
127.0.0.1:6379[5]> persist k3 删除设置的过期时间,永久有效
(integer) 1

PEXPIRE 命令和expire一样是设置过期时间,只不过是以秒为单位
127.0.0.1:6379[5]> pexpire k3 3600 设置过期时间为一个小时
(integer) 1


PTTL key以毫秒为单位返回 key 的剩余生存时间,TTL是返回以秒为单位
127.0.0.1:6379[5]> expire k1 3600000 3600000秒过期
(integer) 1
127.0.0.1:6379[5]> pttl k1
(integer) 3599994340 返回毫秒


RANDOMKEY从当前数据库中随机返回(不删除)一个 key 。

127.0.0.1:6379[5]> keys *
1) "ypp"
2) "k1"
3) "2k"

127.0.0.1:6379[5]> randomkey
"2k"


RENAME key newkey

将 key 改名为 newkey 。当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。当 newkey 已经存在时, RENAME 命令将覆盖旧值。

127.0.0.1:6379[5]> set hello world
OK
127.0.0.1:6379[5]> rename hello he
OK
127.0.0.1:6379[5]> get he
"world"


sort 返回或保存给定列表、集合、有序集合 key 中经过排序的元素。排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较。

  • SORT key 返回键值从小到大排序的结果。
  • SORT key DESC 返回键值从大到小排序的结果。

127.0.0.1:6379[5]> LPUSH today 30 1.8 90 10 88
(integer) 5
127.0.0.1:6379[5]> sort today
1) "1.8"
2) "10"
3) "30"
4) "88"
5) "90"
127.0.0.1:6379[5]> sort today desc
1) "90"
2) "88"
3) "30"
4) "10"


TTL key

以秒为单位,返回给定 key 的剩余生存时间

127.0.0.1:6379[5]> set ii ee
OK
127.0.0.1:6379[5]> EXPIRE ii 90 设置90秒过期
(integer) 1
127.0.0.1:6379[5]> ttl ii
(integer) 83 还有83秒过期


TYPE key

返回 key 所储存的值的类型。

返回值:
none (key不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)

127.0.0.1:6379[5]> set ii ee
OK
127.0.0.1:6379[5]> EXPIRE ii 90
(integer) 1
127.0.0.1:6379[5]> ttl ii
(integer) 83
127.0.0.1:6379[5]> type ii
string string类型









0 0