Redis高级实用特性(安全性、主从复制、事务处理)
2017-05-15 06:58
686 查看
安全性
设置客户端连接后进行任何其他指定前需要使用的密码警告: 因为redis速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行150K次的密码尝试,这意 味着你需要指定非常非常强大的密码来防止暴力破解
在配置文件中找到 # requirepass foobared
添加 requirepass redis
授权方法有两种:
客户端连接后 输入 auth redis
客户端连接时 输入 bin liudongyu$ /usr/local/redis/bin/redis-cli -a redis
主从复制
配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本
特点:
master可以拥有多个slave
多个slave除了可以连接同一个master外,还可以连接到其他slave
主从复制不会阻塞master,在同步数据时,master可以继续处理client请求(主从同步时不影响master的数据读写)
提高系统的伸缩性
redis主从复制过程:
slave与master建立连接,发送sync同步命令
master会启动一个后台进程,将数据库快照保存到文件中,
同时master主进程会开始收集新的写命令并缓存。
后台完成保存后,就将此文件发送给slave
slave将此文件保存到硬盘上
配置主从服务器:
1. 配置slave服务器很简单,只需要在slave的配置文件中加入以下配置:redis.conf中:(要保证和主机是连通的 ping一下)
slaveof 192.168.1.1 6379#指定master的ip和端口
masterauth lamp# 这是主机的密码
2. 客户端命令中输入info可以查看该服务器的角色
role :slave master_link_status:up role: master slave0: … slave1:…
事务处理
multiexec
redis对事务的支持还比较简单(不是很成熟,e.g.下面例子中队列中有不能正常执行的命令,但redis没有做到回滚)
在客户端中,输入multi,再输入其他的命令,其他的命令不会立即执行,而是放入一个队列中,当输入命令exec时,redis会执行队列中的所有命令
127.0.0.1:6379> get age "50" 127.0.0.1:6379> set name liudy OK 127.0.0.1:6379> multi OK 127.0.0.1:6379> incr age QUEUED 127.0.0.1:6379> incr name QUEUED 127.0.0.1:6379> exec 1) (integer) 51 2) (error) ERR value is not an integer or out of range
127.0.0.1:6379> get age "20" 127.0.0.1:6379> multi OK 127.0.0.1:6379> set age 10 QUEUED 127.0.0.1:6379> set age 50 QUEUED 127.0.0.1:6379> exec 1) OK 2) OK 127.0.0.1:6379> get age "50"
discard
取消一个事务(其实就是清空事务的命令队列并退出事务上下文,也就是我们常说的事务回滚)
127.0.0.1:6379> get age "50" 127.0.0.1:6379> multi OK 127.0.0.1:6379> set age 10 QUEUED 127.0.0.1:6379> set age 20 QUEUED 127.0.0.1:6379> discard OK 127.0.0.1:6379> get age "50"
乐观锁的复杂事务控制(有点类似svn的版本管理)
当开启事务前,对某个键进行监视,若在exec前,该键的值发生了改变,那么exec执行不成功
127.0.0.1:6379> get age "30" 127.0.0.1:6379> watch age OK 127.0.0.1:6379> multi OK 127.0.0.1:6379> set age 20 QUEUED 127.0.0.1:6379> exec (nil)
相关文章推荐
- redis的高级应用之一(Redis安全性\主从复制\事务处理)
- Redis高级实用特性:安全性与主从复制
- redis的高级应用之一(Redis安全性\主从复制\事务处理)
- Redis实战《红丸出品》4.2 Redis高级实用特性之主从复制
- NoSQL之Redis高级实用命令详解--安全和主从复制
- redis-高级(事务,频道发布,消息订阅,持久化,主从复制,运维监控....)
- Redis数据库高级实用特性:事务控制
- Redis高级实用命令详解--安全和主从复制
- Redis实战(9)高级特性(1)安全与主从复制
- Redis实战《红丸出品》4.1 Redis高级实用特性之安全性
- Redis 笔记与总结5 Redis 常用命令之 键值命令 和 服务器命令 && 高级应用之 安全性 和 主从复制
- Redis高级实用命令详解--安全和主从复制
- redis高级特性之主从复制
- Redis的高级应用-安全性和主从复制
- Redis实战《红丸出品》4.3 Redis高级实用特性之事务控制
- NoSQL之Redis高级实用命令详解--安全和主从复制
- NoSQL之Redis高级实用命令详解--事务处理
- Redis之基础-3 Redis2.6.16版本之Redis安全性与主从复制
- Redis实战(10)高级特性(2)事务与乐观锁
- 06_NoSQL数据库之Redis数据库:Redis的高级应用之登录授权和主从复制