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语句的批量化执行

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

 

exec:提交事务,类似与关系型数据库中的:commit        执行批量化

discard:事务回滚类似与关系型数据库中的:rollback     不执行批量化操作

8、扩展知识-redis了解命令(了解)

quit   退出客户端

  ctrl+c

dbsize

返回当前数据库中key 的数目

  

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

save 900 1 #每900秒(15分钟)至少有1个key发生变化,则dump内存快照。

save 300 10 #每300秒(5分钟)至少有10个key发生变化,则dump内存快照

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

  适用于内存比较小的计算机

原文地址:https://www.cnblogs.com/justdoitba/p/8318841.html