Redis介绍
- Redis和Memcached类似,也属于k-v数据存储
- Redis官网redis.io, 当前最新稳定版4.0.1
- 支持更多value类型,除了和string外,还支持hash、lists(链表)、sets(集合)和sorted sets(有序集合)
- redis使用了两种文件格式:全量数据(RDB)和增量请求(aof)。全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载。增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据,这种类似于mysql binlog。
- redis的存储分为内存存储、磁盘存储和log文件三部分
Redis持久化
- Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)
- RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上。
- AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。
- 其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。
- 如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样。
Redis持久化相关参数
- save 900 1 #表示每15分钟且至少有1个key改变,就触发一次持久化?
- save 300 10 #表示每5分钟且至少有10个key改变,就触发一次持久化
- save 60 10000 #表示每60秒至少有10000个key改变,就触发一次持久
- save “” #这样可以禁用rdb持久化
- appendonly yes #如果是yes,则开启aof持久化
- appendfilename “appendonly.aof” # 指定aof文件名字
- appendfsync everysec #指定fsync()调用模式,有三种no(不调用fsync),always(每次写都会调用fsync),everysec(每秒钟调用一次fsync)。第一种最快,第二种数据最安全,但性能会差一些,第三种为这种方案,默认为第三种。
Redis安全设置
设置监听ip
bind 127.0.0.1 2.2.2.2//可以是多个ip,用空格分隔
设置监听端口
port 16000
设置密码
requirepass aming>com
redis-cli -a ‘aming>com‘
将config命令改名
rename-command CONFIG aming
禁掉config命令
rename-command CONFIG “”
Redis慢查询日志
编辑配置文件/etc/redis.conf
针对慢查询日志,可以设置两个参数,一个是执行时长,单位是微秒,另一个是慢查询日志的长度。当一个新的命令被写入日志时,最老的一条会从命令日志队列中被移除。
slowlog-log-slower-than 1000 //单位ms,表示慢于1000ms则记日志
slowlog-max-len 128 //定义日志长度,表示最多存128条
slowlog get //列出所有的慢查询日志
slowlog get 2 //只列出2条
slowlog len //查看慢查询日志条数
Redis介绍
原文:http://blog.51cto.com/chenshengsheng/2115569