首页 >

Redis高级特性的配置及使用

数据库|mysql教程Redis高级特性的配置及使用
Redis高级特性,Redis配置,Redis高级特性的配置
数据库-mysql教程
网盘搜索引擎源码下载,grub怎么 ubuntu,tomcat 调整连接数,爬虫系统构成,php框架排行 知乎,青岛SEO优化招聘网 青岛SElzw
默认我们进入Redis客户端是不需要密码的,但是在使用任何命令前保证已授权,这在一个你不信任其它人的环境里可能有用。
javascript控制台 易语言源码,vscode安卓真机调试,ubuntu在线试用,配置tomcat日志路径,韦玮 爬虫,php登录其他网站,张家口seo优化哪里不错,led 显示屏 网站源码lzw
分类信息系统源码,正则表达式 vscode,ubuntu exe运行,tomcat 6 怎么下载,python 邮箱爬虫,PHP空间购买化妆品,保定整站seo优化多少钱lzw

【Redis安全性】

一 . 默认我们进入Redis客户端是不需要密码的,但是在使用任何命令前保证已授权,这在一个你不信任其它人的环境里可能有用。

1. 按照如下方式可设置密码:

① 修改配置文件(默认为/usr/local/etc/redis.conf),找到requirepass foobared,默认已注释掉;将密码设为123456只需要这样,requirepass 123456,然后重启服务。(杀掉主进程:kill -9 进程号,启动:/usr/local/bin/redis-server /usr/local/etc/redis.conf)

  ② 此时/usr/local/bin/redis-cli进入到客户端就需要获取权限,没有将提示:(error) NOAUTH Authentication required.   

2. 输入密码有两种方式:

① 输入任何命令前,在客户端界面执行:auth 123456

② 进入客户端时输入密码:/usr/local/bin/redis-cli -a 123456

其实auth本来应该一直被注释掉,因为向后兼容性并且大部分人不需要权限(例如:他们运行自己的服务)。

注意:由于Redis非常快,针对于一台好的机器一个外部的使用者可以每秒尝试150k次密码。这意味着你应该使用一个非常强壮的密码,否则很容易被破解。

二. 命令的重命名:

Redis支持在一个共享的环境中对危险命令的名字进行修改,例如:CONFIG这个命令可以重命名成其它很难猜到的名字,以便对内部使用的工具可用而对一般客户端不可用。

如:rename-command CONFIG othernameofconfig

同样,通过重命名为空字符串可以使一个命名失效。

如:rename-command CONFIG “”

注意:命名重命名将记录到AOF文件中 或 传输到slave,并且可能会引起问题。

【Redis主从复制】

一. Redis主从复制特点:

① master可以拥有多个slave

② 多个slave可以连接同一个master外,还可以连接到其它slave

③ 主从复制不会阻塞master,在同步数据时,master可以继续处理client请求

④ 提高系统的伸缩性

二. Redis主从复制过程:

① slave与master建立连接,发送sync同步命令

② master启动一个后台进程,将数据库快照保存到文件中,同时master主进程开始收集新的写命令并缓存。

③ 后台完成保存后,就将此文件发送给slave

④ slave将此文件保存到硬盘上

三. 配置Redis从服务器:

要设置IP使用:ifconfig eth0 192.168.117.224

vim /usr/local/etc/redis.conf  # 找到slaveof 和 masterauth,配置如下

slaveof   # slaveof 192.168.88.90 6379

masterauth    #masterauth 123456

现在在master里设置一个键,如:set name weichen;使用keys * 或 get name 查看slave是否能复制成功。

自Redis2.6后,slave默认将只读;在Redis从库中写,会出现如下提示:

不过这个可以在配置文件里面作更改(slave-read-only no),然后重启Redis即可允许写操作。

允许slave写操作,一方面对存储临时的数据有用(因为在和主库重新同步后,从库数据可以很容易被删除掉),但是如果由于配置错误导致客户端对其写操作则会引发问题。

slave只读的设计是防止在网络上暴露给不被信任的客户端,仅仅是针对误用Redis实例的一个保护层;但是一个只读的slave仍然默认输出所有管理命令,比如 CONFIG, DEBUG等等。在一定程度上,你可以通过使用 ‘rename-command’ 跟踪所有的管理/危险命令来提高只读的slave的安全性。

同步复制策略:disk 或 socket。注意:目前无盘复制是实验性的。

repl-diskless-sync no

(用info查看当前Redis服务器信息)

通过几个参数可以判断是Reis主还是从,

role:master

slave0:192.168.88.90,6379,online

redis_version 3.0.3 包含下面几类服务器信息:

#Server

#Clients

#Memory

#Persistence

#Stats

#Replication

#CPU

#Cluster

注:只要Redis slave配置完成,任何时候slave打开,master数据都会自动复制。

【Redis队列/事务】

一. 使用multi打开一个队列,exec执行队列命令,discard取消队列;

Redis高级特性的配置及使用

Redis高级特性的配置及使用

二. 与MySQL的事务不同的是,Redis队列中的命令有未执行成功的,整个事务不会回滚。

Redis高级特性的配置及使用

三. 乐观锁:使用watch命令对key监控,如果在watch后,该key发生过改变,则事务将失败(即已过期);可以调用多次watch监控多个key;exec、discard、unwatch都会清除连接中的监控。

例如:上面的age现在是21,先对age进行watch age,此时multi打开队列进行等待,另一方面打开新终端,对age进行set age 30,,设置成功后,在第一个终端内执行set age 40,exec执行,提示nil。

Redis高级特性的配置及使用

【Redis持久化】

一. Snapshotting(快照)。

Redis默认的持久化方式,将内存中的数据以快照的方式写入到二进制文件(dump.rdb)中,通过配置文件可以配置多少秒后有至少多少次修改就进行快照。

save 900 1     #900秒后有至少1次key的修改就持久化

save 300 10     #300秒后有至少10次key的修改就持久化

save 60 10000   #60秒后有至少10000次key的修改就持久化

阻止快照的方式:

① 注释掉上面三行

② 或 改成save “”。

二. Append Only File(AOF方式)

Redis默认异步将数据备份到磁盘,这种模式对许多应用足够了,但是如果Redis进程出现问题或断电,将导致最近几分钟的写数据丢失(根据配置文件中的保存时间点)。


Redis高级特性的配置及使用
  • Redis主从及其PHP扩展安装配置
  • Redis主从及其PHP扩展安装配置 | Redis主从及其PHP扩展安装配置 ...

    Redis高级特性的配置及使用
  • Redis的使用过程中常用的redis.conf 配置修改总结
  • Redis的使用过程中常用的redis.conf 配置修改总结 | Redis的使用过程中常用的redis.conf 配置修改总结 ...

    Redis高级特性的配置及使用
  • Redis 默认配置精简及注释说明
  • Redis 默认配置精简及注释说明 | Redis 默认配置精简及注释说明 ...