NoSQL介绍(二)

redis介绍

  • Redis和Memcached类似,也属于k-v数据存储
  • Redis官网redis.io
  • 支持更多value类型,除了和string外,还支持hash、list(链表)、sets(集合)和sorted sets(有序信息)
  • redis使用了两种文件格式:全量数据(RDB)和增量请求(aof).全量数据格式是把内存中的数据写入磁盘,便于下次读取文件进行加载。增量请求文件则是把内存中的数据序列化为操作请求,用于读取文件进行replay得到数据,这种类似于mysql binblog。
  • redis的存储分为内存存储、磁盘存储和log文件三部分。

Redis安装

cd /usr/local/src/
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
tar -zxvf redis-4.0.8.tar.gz
cd redis-4.0.8/
make
make install

Redis配置文件,启动Redis

cp redis.conf /etc/
vim /etc/redis.conf
bind 192.168.1.100 10.0.0.1  //设置监听IP
protected-mode yes //打开保护模式
port 6379
pidfile /var/run/redis_6379.pid  //pidfile文件路径
loglevel notice
databases 16  //默认16个数据库,从0-16,默认在0库里
save 900 1  //以下三行是设定rdb的持久化的,表示900秒发生了1次更改
save 300 10  //300秒发生了10次更改
save 60 10000  //60秒发生了10000次更改
rdbcompression yes //压缩rdb文件的
dbfilename dump.rdb
dir /data/redis  //用于指定dump.rdb的路径
appendfilename "appendonly.aof"  //定义生成aof的文件名
appendfsync everysec

daemonize yes //在后台进行,daemonize no在前台运行
logfile "/var/log/redis.log"  //日志文件路径
appendonly yes  //开启aof日志的
mkdir -p /data/redis
redis-server /etc/redis.conf
less /var/log/redis.log

NoSQL介绍(二)

vim /etc/rc.local //加入以下两行
sysctl vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled

Redis持久化

  • Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)
  • RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘介质上。
  • AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些指令从前到后再重复执行一遍,就可以实现数据恢复了。
  • 其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。
  • 如果你没有数据持久化的需要,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存的数据库,就像memcache一样。