1.Key命令

设置key的过期时间。

expire key second:设置key的过期时间

ttl key:查看key的有效期(如果显示正数说明该key正在倒计时,如果是-1说明该key永久保存,是持久化的,如果是-2该key不存在)

persist key:清除key的过期时间。key持久化

使用场景:电商活动有时间限制

2.Redis的持久化方案

redis的所有数据都是保存到内存中。

Rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘。redis默认支持到持久化方案。

aof形式:append only file。把所有对redis数据库操作的命令,增删改操作的命令。保存到文件中。数据库恢复时把所有的命令执行一遍即可。

在redis.conf配置文件中配置。

Rdb:

Aof的配置:

两种持久化方案同时开启使用aof文件来恢复数据库。但是开启redis持久化。会影响redis数据库性能,所以一般默认不开启持久化

3.Redis的特性

3.1 多数据库

一个redis实例可以包含多个数据库,客户端可以指定连接某个redis实例的哪个数据库,就如同一个mysql中创建了多个数据库,客户端连接时指定连接哪个数据库。

可以根据redis的图形化界面,看到一个redis实例最多提供16个数据库,下表从0到15,客户端默认链接第0号数据库,也可以通过select选择链接那个数据库:

以下是连接库的命令

连接1号库:

连接2号库

将key一直到1号库:

3.2 消息订阅与发布

(1) subscribe channel:订阅频道,例:subscribe mychat,订阅mychat这个频道

(2) psubscribe channel*:批量订阅频道,例:psubscribe s*,订阅以"s"开头的频道

(3) publish channel content:在指定的频道中发布消息,例:publish mychat 'today is a newday'

步骤:

(1) 在第一个连接中,订阅cctv频道。此时如果没有人"发布"消息,当前窗口处于等待状态

(2) 在另个连接窗口中,在cctv频道中发布消息(这种消息订阅与发布的实时性很强)

3.3 redis事务

命令解释:

(1)multi:开启事务用于标记事务的开始,其后执行的命令都将被存入命令队列,直到执行exec时,这些命令才会被原子的执行,类似于关系型数据库中的:begin transaction

(2)exec:提交事务,类似于关系型数据库中commit

(3)discard:事务回滚,类似与关系型数据中的rollback

Redis学习记录(二)的更多相关文章

  1. Redis学习笔记二 (BitMap算法分析与BitCount语法)

    Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...

  2. Material Calendar View 学习记录(二)

    Material Calendar View 学习记录(二) github link: material-calendarview; 在学习记录一中简单翻译了该开源项目的README.md文档.接下来 ...

  3. Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客

    ==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...

  4. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  5. redis 学习(二)-- 通用命令

    redis 学习(二)-- 通用命令 1. keys pattern 含义:查找所有符合给定模式(pattern)的key 命令 含义 keys * 遍历所有 key keys he[h-l]* 遍历 ...

  6. 2.VUE前端框架学习记录二

    VUE前端框架学习记录二:Vue核心基础2(完结)文字信息没办法描述清楚,主要看编码实战里面,有附带有一个完整可用的Html页面,有需要的同学到脑图里面自取.脑图地址http://naotu.baid ...

  7. redis学习教程二《四大数据类型》

    redis学习教程二<四大数据类型>  四大数据类型包括:字符串    哈希    列表   集合一 : Redis字符串         Redis字符串命令用于管理Redis中的字符串 ...

  8. redis 学习记录

    http://www.yiibai.com/redis/redis_quick_guide.html Redis 是一款依据BSD开源协议发行的高性能Key-Value存储系统(cache and s ...

  9. C# Redis学习系列二:Redis基本设置

    上一篇:C# Redis学习系列一:Redis的认识.下载.安装.使用 一.redis 设置密码 使用下载好的 redis-cli.exe 指令: 1.设置密码: config set require ...

随机推荐

  1. [转] 出现( linker command failed with exit code 1)错误总结

    这种问题,通常出现在添加第三方库文件或者多人开发时. 这种问题一般是找不到文件而导致的链接错误. 我们可以从如下几个方面着手排查. 1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误. ...

  2. Idea设置签名

    IntelliJ IDEA如何设置头注释,自定义author和date   下面这张图,保证你一看就会: 下面这个模板,你拿去改一改就行了. 1 /** 2 * @Author: Gosin 3 * ...

  3. tp5模型事件回调函数中不能使用$this

    tp5模型事件回调函数中不能使用$this,使用会报错,涉及到数据库操作使用Db类,不能使用$this->save()之类的方式 如果回调函数中需要使用类内函数,需要将函数定义为static,通 ...

  4. Eclipse(2019-03版本)汉化

    1.Eclipse IDE 版本 eclipse-jee-2019-03-R-win32-x86_64.zip 2.Eclipse 汉化包下载 babel-R0.16.0-photon.zip 3.解 ...

  5. jQuery中ready和load的区别

    <span style="white-space:pre">        </span>//document ready $(document).read ...

  6. WebSocket Client连接AspNetCore SignalR Json Hub

    突然有个需求,需要使用普通的websocket客户端去连接SignalR服务器. 因为使用的是.net core 版的signalr,目前对于使用非signalr客户端连接的中文文档几乎为0,在gay ...

  7. TTL-USB

    CH340/ CH341T.CP2102.PL2303 .FT232: FT232:性能好,但价格贵:PL2303台湾的听说很多仿制的,CH340/341T/341A:国产的性能比PL2303好,并且 ...

  8. deep copy and shallow copy

    链接A:浅拷贝就是成员数据之间的一一赋值:把值赋给一一赋给要拷贝的值.但是可能会有这样的情况:对象还包含资源,这里的资源可以值堆资源,或者一个文件..当值拷贝的时候,两个对象就有用共同的资源,同时对资 ...

  9. opencv——IplImage结构

    一.作业要求: 采用MATLAB或opencv+C编程实现.每一题写明题目,给出试验程序代码,实验结果图片命名区分并作出效果比对,最后实验总结说明每一题蕴含的图像处理方法的效果以及应用场合等. 采用M ...

  10. Spring Cloud微服务初探

    学习初衷 因为加了不少优秀的知识星球,结交了更多的小伙伴,加了更多的群,每每在自我介绍的时候,都说自己是Android & Java攻城狮. 然鹅,有的小伙伴就来问了,你是搞Java的,那对S ...