1、redis基础入门 2、redis应用进阶
一、概念 redis是一个开源的键-值,即是缓存又是存储,支持持久化,借助sentinel实现一定意义的高可用,数据结构服务器:string,list,hash,set,sorted set,bitmap,hyperloglog nosql 四种流派: key-value 键值型 :Memcached redis documemtation文档型 :Mongodb columu family列式型 : Hbase graph图像型:Neo4j
二、安装redis 下载地址 www.redis.io redis-3.0.2-1.el6.remi.x86_64.rpm rpm -ivh redis-3.0.2-1.el6.remi.x86_64.rpm rpm -ql 查看安装文件 cp /etc/redis.conf{,.bak} vim /etc/redis.conf 配置文件介绍 daemonize no 守护进程 port 6379 tcp-backlog 511 #tcp 请求的等待队列 bind 127.0.0.1 默认监听的地址,需要指定自己的ip地址 如 bind 127.0.0.1 192.168.100.6 timeout 0 客户端链接超时时间,0表示禁用此功能,不会超时 loglevel notice 日志级别 logfile /var/log/redis/redis.log 日志文件 databases 16 redis支持(0-15个库),select 0 选择0库,分布式不支持多库形式 -----------------快照------------------------------------------- save seconds changes save 900 1 900秒内有1次记录发送变化,记录快照 save 300 10 save 60 10000 save “ ” 表示禁止持久化功能,只做缓存,需注释以上三行 ----------------主从-------------------------------- slaveof masterip masterport salveof 主ip 主端口,如果启动这项就是从服务器,否则主 只有这项启用了,下面有关主从的参数才生效。 -----------------SECYRUTTY安全----------------------------------------- requirepass foobared -------------------LIMITS 限制-------------------------------------------------- maxclients 10000 最大并发客户端数量 maxmemory <bytes> 最大使用内存空间容量 -------------------APPEND ONLY MODE------------------------------- appendonly no 默认是禁用的,相当于二进制日志
三、常用命令 #redis-cli -h 查看帮助 #redis-cli -h 192.168.100.6 远程链接 redis>help @STRING 查看有哪些命令,来自哪个版本 redis>help set redis>set key value 如set name lisan redis>get key "lisan"
四、应用进阶 redis如何实现认证功能,在配置文件中vi etc/redis.conf requirepass 123456 #123456为密码,重启生效 #redis-cli -h 192.168.100.6
select 0,提示认证信息 AUTH 123456 OK ,认证通过
清空数据库:
FLUSHDB:清空当前数据库 FLUSHALL:清空所有库
redis持久化:RDB和AOF,用那种取决于我们的目的
RDB: snapshot,二进制格式,按事先定制的策略,周期性的将数据保存至磁盘,数据文件默认为dump.rdb,save命令就是定制保存周期的。客户端也可以显示使用save或bgsave命令启动快照保存机制。
save,同步,在主线程中保存快照,此时会阻塞所有客户端请求,
bgsave,异步,主进程复制出来一个子进程,由子进程来保存数据,不影响业务使用
AOF: Append Only File ,记录每一次写操作至指定的文件尾部实现持久化,当redis重启时,可通过重新执行文件中的命令在内存中重建数据库,这样这个文件会越来越大,BGREWRITEAOF:AOF文件重写,不会读取正在使用的AOF文件,而通过将内存中的数据以命令的方式保存到临时文件中,完成之后替换原来的AOF文件。
AOF重写过程:
1、redis主进程通过fork创建子进程
2、子进程根据redis内存中的数据创建数据库重建命令序列于临时文件中
3、父进程继承client的请求,并会吧这些请求的写操作继续追加至原来的AOF文件,额外地,这些新的写请求还会被放置于一个缓冲队列中
4、子进程重新完成,会通知父进程;父进程把缓冲中的命令写到临时文件中
5、父进程用用临时文件替换老的aof
参数:
appendonly no
appendfilename appendonly.aof
appendfsync always 每次收到写命令就写入磁盘的aof文件,影响性能
appendfsync everysec 每秒执行一次写入磁盘aof,推荐的操作
appendfsync no
注意,持久本身不能取代备份,还应该制定备份策略,对redis数据库定期进行备份。
RDB与AOF同时启用:
1、BGSAVE和BGREWRITEAOF不会同时执行
2、在Redis服务器启动用于恢复数据时,会优先使用AOF
复制特点:
1、一个master可以有多个slave
2、支持链式复制
3、master以非阻塞方式同步数据至salve
复制过程:
1、启动salve后,从库发送同步请求同步主库的数据,主库启动后台子进程将数据快照保存在本地数据文件中,并把数据文件发送给salve
2、salve收到数据文件后保存到本地,并加载到内存中,完成数据同步 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|