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. 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法

    垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己主动内存管理 上(一)内存分配 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己 ...

  2. velocity.js 中文文档 (教程)

    velocity.js 是一个简单易用.高性能.功能丰富的轻量级JS动画库.它能和 jQuery 完美协作,并和$.animate()有相同的 API, 但它不依赖 jQuery,可单独使用. Vel ...

  3. 【BZOJ 1370】 团伙

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1370 [算法] 并查集 + 拆点 [代码] #include<bits/std ...

  4. Java-JRE:JRE百科

    ylbtech-Java-JRE:JRE百科 JRE是Java Runtime Environment缩写,指Java运行环境,是Sun的产品.运行JAVA程序所必须的环境的集合,包含JVM标准实现及 ...

  5. sql小计合计

    转自:http://www.jb51.net/article/18860.htm 这里介绍sql server2005里面的一个使用实例: CREATE TABLE tb(province nvarc ...

  6. E20170905-mk

    recursive   adj. 回归的,递归的;

  7. Appium + python - automator定位操作

    # coding:utf-8from appium import webdriverfrom time import sleep desired_caps = { 'platformName': 'A ...

  8. Moon Http Server,强大如斯的全脚本web服务器

    Moon Http Server(MHS) 是一个使用Pascal脚本的高性能Web服务器. 昨天晚上是第一次接触.花了30分钟入门,非常强大.是Delphi 者开发Web的福音. 引用一下作者的介绍 ...

  9. intellij 创建java web项目(maven管理的SSH)

    intellij 创建java web项目(maven管理的SSH) 环境intellij IDEA14.MAVEN.Spring.Struts2.Hibernate.Java Web.工程搭建. 1 ...

  10. hibernate_02_session介绍

    什么是session? hibernate的session对象就相当于jdbc的connection.我们对数据库的操作(增删改等)都是使用的session方法. 写一个java类 package c ...