欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

二、Redis特性

程序员文章站 2022-05-20 14:57:32
...

一、多数据库

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文件中来保存;
二、Redis特性
文件重写原理

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