Linux+Redis实战教程_day02_消息订阅与发布_多数据库_redis批量操作-事务_redis持久化
5、扩展知识-消息订阅与发布(了解)
订阅新闻,新闻发布
subscribe channel:订阅频道,例:subscribe mychat,订阅mychat这个频道
psubscribe channel*:批量订阅频道,例:psubscribe s*,订阅以”s”开头的频道
publish channel content:在指定的频道中发布消息,如 publish mychat ‘today is a newday’


6、扩展知识-多数据库(了解)
MySQL-数据库可以自己用语句自定义创建
create database xxxx;
redis-也是有数据库的。 Redis已经提前创建好了。
Redis默认有16个数据库。0,1,2…….15
在redis上所做的所有数据操作,都是默认在0号数据库上操作
数据库和数据库之间,不能共享键值对。
切换数据库:
select 数据库名;
把某个键值对进行数据库移植:
move newkey 1:将当前库的key移植到1号库中
慎用
清空当前数据库:flushdb
和redis服务器数据的清空:flushall
7、扩展知识-redis批量操作-事务(了解)
MySQL-事务: 目的为了保证数据完整性,安全。
Redis-事务: 目的为了进行redis语句的批量化执行
l multi:开启事务用于标记事务的开始,其后执行的命令都将被存入命令队列,直到执行EXEC时,这些命令才会被原子的执行,类似与关系型数据库中的:begin transaction
l exec:提交事务,类似与关系型数据库中的:commit 执行批量化
l discard:事务回滚,类似与关系型数据库中的:rollback 不执行批量化操作


8、扩展知识-redis了解命令(了解)
n quit 退出客户端
ctrl+c
n dbsize
返回当前数据库中key 的数目
n info 查看redis数据
9、扩展知识-redis持久化(了解)
内存(兔子):高效、断电数据就会消失
硬盘(乌龟):读写速度慢于内存的,断电数据依旧存在
持久化:把数据保存在硬盘上
关系型数据库MySQL-持久化:
任何增删改语句,都是在硬盘上做的操作
断电以后,硬盘上的数据还是存在。
非关系型数据库redis:
默认情况下,所有的增删改,数据都是在内存中进行操作。
断电以后,内存中的数据不存在的。
断电以后,redis的部分数据会丢失,丢失的数据是保存在内存中的数据。
Redis存在持久化操作的。
Redis有两种持久化策略:
RDB:是redis的默认持久化机制。
RDB相当于照快照。保存的是一种状态。
现在有20G数据----à几kb快照
优点:①快照保存数据速度极快,还原数据速度极快
②适用于灾难备份
缺点:①小内存机器不适合使用。
RDB机制符合要求就会照快照。(随时随地启动),会占用一部分系统资源(突然的),很可能内存不足直接宕机。(宕机后,服务器会关闭,非正常关闭)
服务器正常关闭时 照快照
Key满足一定条件,照快照
适用于:内存比较充裕的计算机。
RDB何时进行照快照:
①服务器正常关闭时,会照一次快照 ./bin/redis-cli shutdown
②key满足一定条件,会照一次快照
输入命令:vim redis.conf中查找::/save 900 1

l save 900 1 #每900秒(15分钟)至少有1个key发生变化,则dump内存快照。
l save 300 10 #每300秒(5分钟)至少有10个key发生变化,则dump内存快照
l save 60 10000 #每60秒(1分钟)至少有10000个key发生变化,则dump内存快照
key发生变化(key数据添加、修改、删除)
例如1:12:00 – 12:15 ,有1个key发生变化,在12:15就照一次快照保存
12:00 – 12:15 ,没有任何key发生变化,在12:15不会照快照
例如2:12:00 – 12:05 ,有11个key发生变化,12:05就照一次快照保存
12:00 – 12:05 ,有9个key发生变化,12:05不会照快站,12:15 会照快照
例如3: 12:00 – 12:01 ,有15000个key发生变化,12:01会照一次快照保存
12:00 – 12:01 ,有1000个key发生变化,12:01不会照快站,12:05会照快照
AOF: 使用日志功能保存数据操作。
默认AOF机制关闭的。
每秒同步(默认):每秒进行一次AOF保存数据。 安全性低,比较节省系统资源
每修改同步:只要有key变化语句,就进行AOF保存数据。比较安全,但是极为浪费效率
不同步:不进行任何持久化操作 不安全
AOF操作:
只会保存导致key变化的语句
AOF配置:
always #每次有数据修改发生时都会写入AOF文件
everysec #每秒钟同步一次,该策略为AOF的缺省策略
no #从不同步。高效但是数据不会被持久化
开启AOF机制
在redis.conf中输入:/aof查找以下,改为yes

策略的选择:


优点:①持续性占用极少量的内存资源
缺点:①日志文件会特别大,不适用于灾难恢复
②恢复效率远远低于RDB
适用于:内存比较小的计算机
Linux+Redis实战教程_day02_消息订阅与发布_多数据库_redis批量操作-事务_redis持久化的更多相关文章
- Linux+Redis实战教程_day02_2、redis简述及安装与启动
2. redis简述及安装 关系型数据库(SQL): Mysql,oracle 特点:数据和数据之间,表和字段之间,表和表之间是存在关系的 例如:部门表 001部门, 员工表 001 用户表,用户 ...
- Linux+Redis实战教程_Linux上安装jdk,mysql,tomcat_安装jdk
1. Linux上安装jdk,mysql,tomcat[重点] Windows 控制面板 添加/卸载程序 进行程序的安装.更新.卸载.查看 rpm命令:相当于windows的添加/卸载程序 进行程序的 ...
- Linux+Redis实战教程_day01_Linux介绍与安装
1.Linux介绍(了解) 1.1.Linux和Windows的区别 Linux是一款操作系统.正规开发 服务器项目部署都是放在Linux操作系统上. Windows一款操作系统,民用操作系统.娱乐. ...
- Linux+Redis实战教程_day03_4、通用redis命令【重点】
4.通用redis命令[重点] Redis五种数据类型,String,hash,list,set,有序set l keys pattern:获取所有与pattern匹配的key,返回所有与该key匹配 ...
- Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)
2.redis-set[重点] Java HashSet 无序,不重复. Redis操作中,涉及到两个大数据集合的并集,交集,差集运算. 赋值: l sadd key values[value1.v ...
- Linux+Redis实战教程_day03_1、Redis-LinkedList【重点】
1.redis-LinkedList[重点] Java List : 数组ArrayList 链表LinkedList 为什么redis选取了链表? Redis操作中,最多的操作是进行元素的增删 使用 ...
- Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术
3. redis数据类型[重点] redis 使用的是键值对保存数据.(map) key:全部都是字符串 value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率 Key名不要 ...
- Linux+Redis实战教程_day01_Linux系统上安装tomcat
Linux系统上安装tomcat 安装tomcat 上传tomcat的安装文件 Alt+p 拖拽上传 创建tomcat的安装路径 mkdir -p /usr/local/tomcat 解压tomcat ...
- Linux+Redis实战教程_day02_Linux系统上安装MySQL
Linux系统上安装MySQL 安装MySQL 卸载自带mysql 查询mysql的安装情况,可以直接使用了 rpm -qa | grep -i mysql –-color 卸载原生的MySQL rp ...
随机推荐
- 百度网盘 http://pandownload.com/index.html
https://github.com/high-speed-downloader/high-speed-downloader
- Spring Cloud Sleuth 服务跟踪
项目结构: 一跟踪服务中心,用于收集和展示跟踪情况. 一个服务提供者. 一个服务消费者. 服务跟踪中心: pom.xml添加如下依赖: <dependency> <groupId&g ...
- 微信小程序 --- e.currentTarget.dataset.id 获取不到值
直接代码 wxml代码片段 <view class='ranksList' wx:for="{{ranksLb}}"> <view class='ranksLis ...
- JS 二维数组排序
<script> //测试方法 var a = [ {name:'hdj', age:128}, {name:'hdj1', age:28}, {name:'hdj1', age:78}, ...
- ajax传递参数给springmvc总结[转]
通过ajax传递参数给springmvc,经常会因为 参数类型太复杂,或者根本不知道springmvc都支持哪些类型转换,导致后台接收出现各种问题.如果书写格式没有问题仍然接受参数报错,大部分是因为s ...
- Java HashSet和HashMap源码剖析
转自: Java HashSet和HashMap源码剖析 总体介绍 之所以把HashSet和HashMap放在一起讲解,是因为二者在Java里有着相同的实现,前者仅仅是对后者做了一层包装,也就是说Ha ...
- (笔记)Mysql命令insert into:向表中插入数据(记录)
insert into命令用于向表中插入数据. insert into命令格式:insert into <表名> [(<字段名1>[,..<字段名n > ])] v ...
- 用OpenGL进行曲线、曲面的绘制
实验目的 理解Bezier曲线.曲面绘制的基本原理:理解OpenGL中一维.二维插值求值器的用法. 掌握OpenGL中曲线.曲面绘图的方法,对比不同参数下的绘图效果差异: 代码1:用四个控制点绘制一条 ...
- python numpy logic_and
>>> import numpy as np >>> np.logical_and(True, False) False >>> np.logic ...
- e775. 设置JList组件项的维数
By default, the width of the list is determined by the longest item and the height is determined by ...