当前位置 > it书童 > redis > 正文

redis 全局命令

redis it书童 2019-10-04 17:19:51 0赞 0踩 323阅读 0评论

查看所有键

keys *

127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> set code python
OK
127.0.0.1:6379> set name redis
OK
127.0.0.1:6379> keys *
1) "code"
2) "name"
3) "hello"

键总数

dbsize

# 插入一个列表
127.0.0.1:6379> rpush language java php python c++ ruby
(integer) 5
127.0.0.1:6379> dbsize
(integer) 4

dbsize不会遍历所有键,是直接获取redis内置的键总数变量,时间复杂度为O(1)

keys会遍历所有键,时间复杂度是O(n), 当redis保存了大量键时,生产环境禁用keys

检查键是否存在

exists key 键存在返回1,不存在则返回0

127.0.0.1:6379> exists code
(integer) 1
127.0.0.1:6379> exists test
(integer) 0

删除键

del key [key ...]

del是一个通用命令,无论值是什么数据结构类型,del都可以删除

返回结果为成功删除键的个数,假设删除一个不存在的键,就会返回0

127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> del test
(integer) 0
127.0.0.1:6379> exists name
(integer) 0

del 可支持批量删除键

127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> set b 2
OK
127.0.0.1:6379> set c 3
OK
127.0.0.1:6379> del a b c
(integer) 3

键过期

expire key seconds

给键设置过期时间,当超过过期时间后,会自动删除键

ttl命令会返回键的剩余过期时间,返回值为:

  • 大于或等于0的整数:键剩余的过期时间
  • -1:键没设置过期时间
  • -2:键不存在
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> expire hello 10
(integer) 1
127.0.0.1:6379> ttl hello
(integer) 8
127.0.0.1:6379> ttl hello
(integer) -2
127.0.0.1:6379> get hello
(nil)

键的数据结构类型

type key 返回键的相应数据类型, 如果键不存在, 返回none

127.0.0.1:6379> set name redis
OK
127.0.0.1:6379> type name
string
127.0.0.1:6379> rpush system windows unix linux
(integer) 3
127.0.0.1:6379> type system
list
127.0.0.1:6379> type test
none
转载须注明出处:https://www.itshutong.com/articles/188/redis-global-command
关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
发表评论
我有句话,不知当讲不当讲?
要讲之前请先 登录