使用教程(七)的详细说明:关键操作命令
1。总结:在本系列的前几个博客,主要的故事是关于Redis数据类型相关的命令,如字符串,列表,哈希,和sorted-set.these命令都有一个共同点,所有的操作都是针对价值相关的关键。本博客将重点与关键的Redis命令。学习这些命令是学习使用一个非常重要的基础,也是一个很好的工具,充分挖掘Redis的潜力。
在本博客中,我们将提供所有相关命令的详细列表和典型示例,以便于我们当前的学习和将来的参考。
两。相关命令列表:
命令的原型
时间复杂度
Command description
返回值
按键模式
O(n)
n在复杂性代表关键数据库中的数的时间,把所有的钥匙匹配模式参数。应该指出的是,在我们的正常运行,我们应该避免调用命令尽可能多的,因为大型数据库,这个命令是耗时和Redis服务器的性能也伟大的。模式支持通配符glob风格格式,如任意一个或多个字符,一个任意字符,和{ }为ABC在方括号内的任何信。
匹配模式的键列表。
删除键{键…}
O(n)
n在时间复杂度表示删除关键数。键中指定的参数从数据库,如果指定的键不存在省略。还必须指出,如果指定的键相关联的数据类型是字符串类型,但列表,设置,哈希和排序的集合,每个键删除的时间复杂度为O(m),其中m代表容器中的元素的个数。为字符串类型的关键,时间复杂度为O(1)。
实际上删除的键的数目。
存在的关键
o(1)
确定指定的键是否存在。
1意味着存在,0表示没有存在。
移动键分贝
o(1)
将当前数据库中指定的密钥键移动到参数中指定的数据库。如果键已经存在于目标数据库中或当前数据库中不存在,则命令将不执行任何操作并返回0。
移动的成功返回1,否则为0。
重命名关键newkey
o(1)
重命名指定的键,如果两键参数的命令是相同的,或源项不存在,该命令将返回有关错误的信息。如果市纽克已经存在,它是直接覆盖。
renamenx关键newkey
o(1)
如果没有新的值,那么参数中原始值的变化为一个新值。
1表示修改成功,否则为0。
坚持重点
o(1)
如果密钥有过期时间,则命令将取消其到期时间,使密钥不再超时,但可以持久存储。
1表示密钥的到期时间被删除,0表示密钥不存在或没有过期时间。
到期关键秒
o(1)
此命令设置参数中指定的密钥的超时时间秒数,在此之后,密钥将自动删除。如果在超时之前修改密钥,则将删除与密钥相关联的超时时间。
1表示超时设置,0表示该键不存在或不能设置。
expireat关键时间戳
o(1)
此命令的逻辑功能与到期完全相同,唯一的区别是命令指定的超时时间是绝对时间,而不是相对时间。此时间参数是UNIX时间戳格式,即流经1970年1月1日的秒数。
1表示超时设置,0表示该键不存在或不能设置。
TTL的关键
o(1)
获取键所留下的超时描述。
返回剩余的描述,如果键不存在或没有超时设置,返回- 1。
randomkey
o(1)
从当前打开的数据库随机返回一个键。
返回随机密钥,如果数据库是空的,则返回0。
型的关键
o(1)
获取参数中指定键的关联值的类型,该值将以字符串的格式返回。
返回的字符串的字符串,列表,哈希,和zset,如果不存在则返回无。
{ } {排序键的方式限制数} { {偏移得到模式得到模式{ ASC DESC } {α} { |存储目的地}…
o(n×m×log(m))
这个命令比较复杂,所以我们给出了最基本的用法。感兴趣的网友可以参考Redis官方文档。
返回排序后的原始列表。
三。An example of the command:
1。钥匙/重命名/删除 / / / renamenx存在移动:
复制代码代码如下所示:
#启动redis客户端在shell命令行工具。
使用CLI / >
#清空当前选定的数据库,为了理解下面的例子。
Redis 127.0.0.1:6379 > flushdb
好啊
添加#模拟数据类型的字符串。
Redis 127.0.0.1:6379 > 2套钥匙
好啊
Redis 127.0.0.1:6379 >设置mykey2 你好
好啊
添加#模拟数据类型设置。
Redis 127.0.0.1:6379 >萨德mysetkey 123
(整数)3
添加#模拟数据类型的哈希。
Redis 127.0.0.1:6379 > HSET mmtest用户名史蒂芬
(整数)1
#根据模型中的参数,得到当前数据库关键要满足所有的模型,可以从产出看,顺序不区分在执行时间的关键价值类型相关。
Redis 127.0.0.1:6379 >键我*
1)mysetkey
2)钥匙
3)mykey2
#取出两把钥匙。
Redis 127.0.0.1:6379 >德尔MyKey mykey2
(整数)2
检查是否#刚刚删除的关键仍然存在,从返回的结果,MyKey确实已被删除。
Redis 127.0.0.1:6379 >存在的钥匙
(整数)0
#检查没有删除键,并比较上述命令的结果。
Redis 127.0.0.1:6379 >存在mysetkey
(整数)1
# mysetkey按钮在当前数据库ID 1数据库,可以从已经移动成功的结果。
Redis 127.0.0.1:6379 >移动mysetkey 1
(整数)1
# Open ID 1数据库。
Redis 127.0.0.1:6379 >选择1
好啊
刚搬过去#检查是否存在的关键,从返回结果已经存在。
Redis 127.0.0.1:6379 { 1 } >存在mysetkey
(整数)1
在#重开ID作为默认的数据库0。
Redis 127.0.0.1:6379 { 1 } >选择0
好啊
#检查关键已经不存在就删除,从返回结果已被删除。
Redis 127.0.0.1:6379 >存在mysetkey
(整数)0
#新测试数据。
Redis 127.0.0.1:6379 >设置MyKey的你好
好啊
# MyKey将更名为mykey1
Redis 127.0.0.1:6379 >重命名MyKey mykey1
好啊
#因为钥匙已被重命名,再返回nil。
Redis 127.0.0.1:6379 >得到MyKey
(无)
对于#新名称。
Redis 127.0.0.1:6379 >得到mykey1
你好
#因为MyKey不存在,那么返回错误信息。
Redis 127.0.0.1:6379 >重命名MyKey mykey1
(错误)没有这样的键
#准备测试关键renamenx
Redis 127.0.0.1:6379 >设置oldkey 你好
好啊
Redis 127.0.0.1:6379 >设置newkey 世界
好啊
因为# newkey已经存在,所以命令失败。
Redis 127.0.0.1:6379 > renamenx oldkey newkey
(整数)0
#看到newkey的价值,发现它是不受renamenx。
Redis 127.0.0.1:6379 >得到newkey
世界
2。坚持 / / / TTL到期expireat:
复制代码代码如下所示:
例如#试验数据回。
Redis 127.0.0.1:6379 >设置MyKey的你好
好啊
的关键是#超时100秒。
Redis 127.0.0.1:6379 >到期MyKey 100
(整数)1
#通过TTL命令来查看剩下多少秒。
Redis 127.0.0.1:6379 > TTL MyKey
(整数)97
#立即执行命令的坚持,暂停键的存在成为持久的关键,关键将删除超时。
Redis 127.0.0.1:6379 >坚持MyKey
(整数)1
对# TTL返回值告诉我们,关键还没有出来的时候。
Redis 127.0.0.1:6379 > TTL MyKey
(整数)- 1
#背后的终止命令数据。
Redis 127.0.0.1:6379 >德尔MyKey
(整数)1
Redis 127.0.0.1:6379 >设置MyKey的你好
好啊
#设置超时的键100秒。
Redis 127.0.0.1:6379 >到期MyKey 100
(整数)1
#使用TTL命令查看当前的数秒,可以从96秒,结果看到左。
Redis 127.0.0.1:6379 > TTL MyKey
(整数)96
关键#更新超时时间是20秒,从成功执行返回值。
Redis 127.0.0.1:6379 >到期MyKey 20
(整数)1
#和TTL的检查,从结果中可以看到它的更新。
Redis 127.0.0.1:6379 > TTL MyKey
(整数)17
#立即更新的核心价值,使其无效的超时。
Redis 127.0.0.1:6379 >设置MyKey的世界
好啊
#从TTL结果,修改命令的关键,关键是无效的超时。
Redis 127.0.0.1:6379 > TTL MyKey
(整数)- 1
三.类型/ randomkey /排序:
复制代码代码如下所示:
#因为毫米关键在数据库中不存在,所以命令返回None。
Redis 127.0.0.1:6379 >型mm
没有
对# MyKey的值是字符串类型,因此返回的字符串。
Redis 127.0.0.1:6379 > type MyKey
字符串
#准备一种关键值设置。
Redis 127.0.0.1:6379 > Sadd mysetkey 12
(整数)2
对# mysetkey关键设置,所以它返回字符串集。
Redis 127.0.0.1:6379 >型mysetkey
集
#返回数据库中的任何关键。
Redis 127.0.0.1:6379 > randomkey
oldkey
当前打开的#空数据库。
Redis 127.0.0.1:6379 > flushdb
好啊
#由于缺乏数据,返回nil。
Redis 127.0.0.1:6379 > randomkey
(无)