二、Redis特性

一、多数据库

1、Redis可视化工具

Redis Desktop Manager
连接方式:公网IP,同时在阿里云服务器开放端口6379,连接即可;

2、多数据库
  • 一个redis实例包含16个数据库(0—15),类似mysql一个实例下的多个数据库;
  • 默认使用0号数据库;
# 切换数据库
select 1; select 2;
# 剪切数据: 将0号数据库的一个数据剪切到1号数据库
select 0 ;  move key 1;
# 删除当前数据库的数据
flushdb
# 删除所有数据库的数据
flushall
3、消息的订阅与发布
  • 打开不同的SSH客户端,如客户端A和客户端B,同时链接目标Redis
# A客户端:消息的订阅: 可以订阅多个频道,用空格隔开
subscribe channel1 channel2 channel3;
# 可以订阅一定格式的频道
psubscribe channel*;
# 退出客户端及订阅模式
ctrl + c

# B客户端发布消息: 发布后就可以在A客户端查看发布的消息
publish channel content
4、事务

伪事务
提交

# 定义两个数据
set age 10; set name shuzhan
# 开启事务
multi
# 操作数据: 执行后并不立即执行,而是将所有的操作放在一个队列中
incr age;   incr name;
# 提交事务:
exec
# 提交后age可以执行成功,name执行失败,因此是伪事务

回滚

# 定义两个数据
set age 10; set name shuzhan
# 开启事务
multi
# 操作数据: 执行后并不立即执行,而是将所有的操作放在一个队列中
incr age;   incr name;
# 回滚事务:
discard
# 回滚后上面两条都不会执行

二、数据持久化

  • 关系型数据库:运行在磁盘中;
  • 非关系型数据库:运行在内存中,因此读取速度比较快;
1、AOF机制

redis将每一个收到的写命令都通过write函数追加到AOF文件中,也就是日志记录。

持久化原理
即每个命令过来后,都会将该命令下在一个AOF文件中来保存;
在这里插入图片描述
文件重写原理

  • AOF日志文件,随着redis的使用,势必会越来越大;
  • 比如某些数据实际已经删除了,但是该数据的插入,修改及删除的指令也报错在AOF文件中,其实已经没有意义了;
  • redis提供了bgrewriteaof命令。将内存中的数据以命令的方式保存到临时文件中,同时会fork出一条新进程来将临时文件重新写成一个新的AOF。
  • 文件重写的时候,并没有去读旧的AOF文件,而是去内存中读数据,旧的AOF文件会保留下来;
    在这里插入图片描述
    三种触发机制
  • always:同步持久化,每次发生数据变更会被立即记录到磁盘,性能较差但数据完整性比较好;
  • everysec:异步操作,每秒记录同步一次,如果redis突然宕机,那这一秒前写入内存的数据会丢失;
  • no: 从不同步;
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读