redis命令学习的注意问题
1.set get命令只用于字符串,get命令取key值时string正常返回,没有key返回nil,其他类型会报错
设置的时候是set test redis ex 200000等同于SETEX test 200000 redis 下面的有一个test和test2设置完成之后的效果相同
set重新设置一个可以的有效期限会将原有的有效期限覆盖
ex设置有效期限单位为秒 px为毫秒
nx是看此key是否存在,存在设置失败,返回nil,不会覆盖原来的值,成功返回ok。
xx是与nx相反,key不存在设置失败,返回nil,存在的话就会堵盖原来的值
127.0.0.1:6379> set test redis ex 200000 #设置一个string的key并给它设置一个有效期限时间为200000秒
OK
127.0.0.1:6379> get test #获取当前key的值
"redis"
127.0.0.1:6379> LPUSH test redis mongodb mysql #设置一个list key为test,但是test已经存在所以会报错
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> LPUSH test1 redis mongodb mysql #换个名称,成功返回
(integer) 3
127.0.0.1:6379> get test1 #想要获取list类型的key值,但是get只适合string型所以失败报错
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> TTL test #查看key值得剩余期限
(integer) 199300
127.0.0.1:6379> SETEX test2 200000 redis1 #设置一个key并设置期限,这个和第一行执行的效果相同
OK
127.0.0.1:6379> set test2 redis1 px 100 #设置一个key,期限单位为毫秒
OK
127.0.0.1:6379> get test2 #在期限之后为过期的key会删除
(nil)
127.0.0.1:6379> set test2 redis nx #设置一个key,因为之前不存在这个key,所以加上nx会成功
OK
127.0.0.1:6379> set test2 redis nx #设置相同的key,因为之前存在这个key,所以失败,返回nil
(nil)
127.0.0.1:6379> get test2 #获取这个key的值,并没有被覆盖
"redis"
127.0.0.1:6379> set test3 lixue xx #设置这个key,因为这个key不存在,所以设置失败,返回nil
(nil)
127.0.0.1:6379> set test3 lixue #设置一个key用于下面的测试
OK
127.0.0.1:6379> set test3 lixue1 xx #设置这个key,因为这个key存在,所以设置成功,返回ok
OK
127.0.0.1:6379> get test3 #获取这个key,然后值被覆盖
"lixue1"
2.ttl key查询相应key剩下的有效生命期(上面有设置ex)
127.0.0.1:6379> TTL test
(integer) 199300 127.0.0.1:6379> ttl test2
(integer) 199986
3.
redis命令学习的注意问题的更多相关文章
- redis命令学习(二) · THIS SPACE
		列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ... 
- Redis 命令学习
		每天不学习点新的东西,感觉就有点会被社会淘汰掉了.也许现在学习的知识会很快忘记,下次学习用到这个知识点的时候,再回来翻记录的笔记,我想这样会比从头再学,效率会高点吧. 闲话不多聊,回归正题.今天学习r ... 
- Redis命令学习-string类型操作
		APPEND key value 假设key已经存在,而且为字符串.那么这个命令会把value追加到原来值的末尾.假设key不存在.首先创建一个空字符串,再运行追加操作. 返回值:返回 ... 
- Redis命令学习-Transaction(事务)
		DISCARD DISCARD :取消事务,放弃运行事务块内的全部代码.假设在使用WATCH命令监视某个key.则取消监视,等同于UNWATCH. 返回值:总是返回ok.   ... 
- 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总
		本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ... 
- 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)
		本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ... 
- 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)
		本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ... 
- 【Redis】命令学习笔记——字符串(String)(23个超全字典版)
		Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ... 
- 【Redis】命令学习笔记——键(key)(20个超全字典版)
		安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ... 
随机推荐
- Codeforces Round #281 (Div. 2) A. Vasya and Football  暴力
			A. Vasya and Football Vasya has started watching football games. He has learned that for some foul ... 
- Android 重写onBackPressed()方法 遇到的问题
			1.resultCode的值一直为0 问题描述:AActivity调用startActivityForResult()方法,启动BActivity,然后在BActivity的onBackPressed ... 
- 【POJ 3764】 The xor-longest path
			[题目链接] http://poj.org/problem?id=3764 [算法] 首先,我们用Si表示从节点i到根的路径边权异或和 那么,根据异或的性质,我们知道节点u和节点v路径上的边权异或和就 ... 
- android 可拖动控件  ontouchevent
			首先附上文章的转载内容的链接: 学习android 可拖动事件首先需要对android的屏幕和touchevent参数建立一个详细的知识结构. 1.android坐标系统 一.首先明确一下 andro ... 
- 一个能让cin和scanf 一样快的方法:
			cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说这两种方法可以混用,而不必担心文件指针混乱,同时cout和stdout也一样,两者混用不会输出顺序错乱.正因为这个兼容性的 ... 
- 最小生成树之Prim算法(最原始最详细入门)
			//算法6.8 普里姆算法 #include <iostream> using namespace std; typedef char VerTexType; typedef int Ar ... 
- Java中数组要点总结
			1.数组是基本数据类型和字符串类型的容器(引用数据类型),而集合是类数据类型的容器: 2.数组定义的格式: (1)一般格式: 元素类型[] 数组名 = new 元素类型[元素个数或者数组长度]: 其中 ... 
- 快速录入快递地址API接口实现
			电商.ERP等行业下单环节极其重要,如何提高下单的效率已经成为首要问题.快速下单对于客户来说,为提前发货争取了时间:对于卖家来说,提高了库存周转率及利用率.快速下单的接口实现,需要解决如下几个问题:1 ... 
- C# 如何实现WinForm程序自重启(重新启动自己)
			重启的时间间隔方法 private void Restart() { Thread thtmp = new Thread(new ParameterizedThreadStart(run)); obj ... 
- 请不要继续使用VC6.0了!
			很多次和身边的同学交流,帮助同学修改代码,互相分享经验,却发现同学们依然在使用老旧的VC6.0作为编程学习的软件,不由得喊出:“请不要继续使用VC6.0了!”. VC6.0作为当年最好的IDE(集成开 ... 
