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命令学习的注意问题的更多相关文章

  1. redis命令学习(二) · THIS SPACE

    列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...

  2. Redis 命令学习

    每天不学习点新的东西,感觉就有点会被社会淘汰掉了.也许现在学习的知识会很快忘记,下次学习用到这个知识点的时候,再回来翻记录的笔记,我想这样会比从头再学,效率会高点吧. 闲话不多聊,回归正题.今天学习r ...

  3. Redis命令学习-string类型操作

    APPEND key value     假设key已经存在,而且为字符串.那么这个命令会把value追加到原来值的末尾.假设key不存在.首先创建一个空字符串,再运行追加操作.     返回值:返回 ...

  4. Redis命令学习-Transaction(事务)

    DISCARD ​DISCARD :取消事务,放弃运行事务块内的全部代码.假设在使用WATCH命令监视某个key.则取消监视,等同于UNWATCH. ​返回值:总是返回ok.    ​     ​ ...

  5. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  6. 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

    本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...

  7. 【Redis】命令学习笔记——哈希(hash)(15个超全字典版)

    本篇基于redis 4.0.11版本,学习哈希(hash)相关命令. hash 是一个string类型的field和value的映射表,特别适合用于存储对象. 序号 命令 描述 实例 返回 HSET ...

  8. 【Redis】命令学习笔记——字符串(String)(23个超全字典版)

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ...

  9. 【Redis】命令学习笔记——键(key)(20个超全字典版)

    安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...

随机推荐

  1. 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 ...

  2. Android 重写onBackPressed()方法 遇到的问题

    1.resultCode的值一直为0 问题描述:AActivity调用startActivityForResult()方法,启动BActivity,然后在BActivity的onBackPressed ...

  3. 【POJ 3764】 The xor-longest path

    [题目链接] http://poj.org/problem?id=3764 [算法] 首先,我们用Si表示从节点i到根的路径边权异或和 那么,根据异或的性质,我们知道节点u和节点v路径上的边权异或和就 ...

  4. android 可拖动控件 ontouchevent

    首先附上文章的转载内容的链接: 学习android 可拖动事件首先需要对android的屏幕和touchevent参数建立一个详细的知识结构. 1.android坐标系统 一.首先明确一下 andro ...

  5. 一个能让cin和scanf 一样快的方法:

    cin慢是有原因的,其实默认的时候,cin与stdin总是保持同步的,也就是说这两种方法可以混用,而不必担心文件指针混乱,同时cout和stdout也一样,两者混用不会输出顺序错乱.正因为这个兼容性的 ...

  6. 最小生成树之Prim算法(最原始最详细入门)

    //算法6.8 普里姆算法 #include <iostream> using namespace std; typedef char VerTexType; typedef int Ar ...

  7. Java中数组要点总结

    1.数组是基本数据类型和字符串类型的容器(引用数据类型),而集合是类数据类型的容器: 2.数组定义的格式: (1)一般格式: 元素类型[] 数组名 = new 元素类型[元素个数或者数组长度]: 其中 ...

  8. 快速录入快递地址API接口实现

    电商.ERP等行业下单环节极其重要,如何提高下单的效率已经成为首要问题.快速下单对于客户来说,为提前发货争取了时间:对于卖家来说,提高了库存周转率及利用率.快速下单的接口实现,需要解决如下几个问题:1 ...

  9. C# 如何实现WinForm程序自重启(重新启动自己)

    重启的时间间隔方法 private void Restart() { Thread thtmp = new Thread(new ParameterizedThreadStart(run)); obj ...

  10. 请不要继续使用VC6.0了!

    很多次和身边的同学交流,帮助同学修改代码,互相分享经验,却发现同学们依然在使用老旧的VC6.0作为编程学习的软件,不由得喊出:“请不要继续使用VC6.0了!”. VC6.0作为当年最好的IDE(集成开 ...