首页 > > > 后端开发都应该掌握的Redis基础
阅读本文大概需要 4.2 分钟。
Redis支持多种不同的数据结构,包括5种基础数据结构和几种比较复杂的数据,这些数据结构可以满足不同的应用场景。



# key命令,时间复杂度为O(n)
keys pattern #pattern可为一个包含匹配模式的字符串,可以包含*,+,?,[a-z]等模式。
> mset hello_test1 one hello_test2 two helloa a hellob b
> keys hello*
1) "hello_test1"
2) "hello_test2"
3) "helloa"
4) "hellob"
> keys heelo?
1) "helloa"
2) "hellob"
> keys hello[a-z]
1) "helloa"
2) "hellob"
# exists命令,时间复杂度O(1)
exists key [key ...]
> set test1 t1
> exists test1 test2
(integer) 1 #只有一个key存在
> exists test3 test3
(integer) 0 #key都不存在
# del命令,时间复杂度O(n)
del key [key ...]
> set test t
> del test
(integer) 1
> mset test1 2 test2 1
> del test1 test2 test3
(integer) 2 # 返回2,表示成功删除两个
#再次删除,返回0,因为删除成功个数为0
> del test1 test2 test3
(integer) 0
# expire命令,时间复杂度为O(1)
expire key seconds
# pexpire命令,时间复杂度为O(1)
pexpire key milliseconds
> mset test test_value test1 test1_value
> expire test 10 #设置10秒后过期
(integer) 1
> pexpire test1_value 10000 #设置10000毫秒(10s)后过期
(integer) 1
> expire ttt 100
(integer) 0 # 不存在的key,设置失败,返回0
# ttl命令,时间复杂度O(1)
ttl key
# pttl命令,时间复杂度O(1)
pttl key
> set test test
> expire test 100
> ttl test
(integer) 98#返回剩下的秒数
> set test1 #永久有效
> ttl test1
(integer) -1
> ttl test2
(integer) -2#不存在或过期
#100秒后
> ttl test # test已过期
(integer) -2
#expireat命令,时间复杂度为O(1)
expireat key timestamp
#pexpireat命令,时间复杂度为O(1)
pexpireat key milliseconds-timestamp
> set test test
> expireat test 1560873600 # 2019-06-19 00:00:00
(integer) 1
> set test1 test1
> pexpireat test1 156087360000 # 2019-06-19 00:00:00的毫秒表示
(integer) 1
# persist命令,时间复杂度O(1)
persist key
> set test test
> ttl test
(integer) -1 # 表示永久有效
> persist test
(integer) 0 # 对永久有效或不存在的key使用persist命令,返回
> expire test 10
(integer) 1
> persist test
(integer) 1
# type命令,时间复杂度O(1)
type key
> set test test
> type test
string
> hset htest test test
> type htest
hash

往期精彩回顾
Java 8中Stream API的这些奇技淫巧!你都Get到了吗?

朕已阅 
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69902700/viewspace-3122034/ ,如需转载,请注明出处,否则将追究法律责任。