Redis编译安装
摘要
Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。
Redis的所有数据都是保存在内存中(效率高),然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。
1 安装
1.1 下载Redis安装包
首先从官网下在redis正式版的压缩包
|
|
1.2 解压
|
|
1.3 编译安装
|
|
这时候,我们可以看看src下的文件
可以看到此时,src文件夹下出现了一些绿色的文件,这些文件就是我们以后需要用到的命令文件
1.4 移动文件
移动文件,便于管理 创建两个文件夹,bin用于存放命令,conf用于存放配置文件。
|
|
将redis文件夹下的redis.conf复制到/usr/local/redis/conf/
|
|
并将src目录下的命令文件(绿色的),复制到/usr/local/redis/bin/
|
|
2 Redis setup tips
Set the Linux kernel overcommit memory setting to 1. Add to . Then, reboot or run the command to activate the setting.
1 2
echo vm.overcommit_memory = 1 >> /etc/sysctl.conf sysctl vm.overcommit_memory=1
To ensure the Linux kernel feature Transparent Huge Pages does not impact Redis memory usage and latency, use this command:
1
echo never > /sys/kernel/mm/transparent_hugepage/enabled
3 启动
3.1 启动Redis服务
首先进入刚才安装redis的目录 之后我们启动redis服务。启动redis服务需要用到命令redis-server
|
|
结果
但是,这样做的话,我们并没有使用etc的下的配置文件进行启动(图中红线部分)。
如果希望通过指定的配置文件启动,需要在启动时指定配置文件:
这里我们先用ctrl+C来终止服务,然后查看redis服务是否终止干净了,之后通过设置配置文件来启动服务:
按下ctrl+c后(^C):
运行:pstree -p | grep redis
发现redis服务已经被终止干净
现在我们带上配置文件/usr/local/etc/redis.conf
运行redis
|
|
现在redis仍然是在前台运行。 需要在后台运行,把daemonize配置项改为yes
|
|
搜索 :/daemonize 把daemonize配置项改为yes 保存退出 之后使用配置文件启动redis-server。
|
|
通过ps命令可以查看到redis正在运行。
|
|
至此,redis服务已经按照配置文件启动成功!! 步骤五:客户端登录
|
|
回车后如果提示:
|
|
提示则表明客户端登录成功 步骤六:关闭Redis服务 停止Redis实例 我们可以使用pkill redis-server
|
|
|
|
关闭之后,发现6379就不再被占用了,redis的进程也都没有了。 客户登陆也无法成功了。 也可以使用/usr/local/redis/bin/redis-cli shutdown,这种方法使用客户端命令redis-cli 进行Redis服务的停止
|
|
当然关闭某个服务还可以使用 killall 和 kill -9.
3.2 将redis添加到systemctl
3.2.1 创建redis服务
|
|
|
|
3.2.2 重载systemctll配置
|
|
注意
redis需要外部连接要修改配置文件
|
|
4 常用配置
4.0.3 daemonize
如果需要在后台运行,把该项改为yes
4.0.4 pidfile
配置多个pid的地址 默认在/var/run/redis.pid
4.0.5 bind
绑定ip,设置后只接受来自该ip的请求
4.0.6 port
监听端口,默认是6379
4.0.7 loglevel
分为4个等级:debug verbose notice warning
4.0.8 logfile
用于配置log文件地址
4.0.9 databases
设置数据库个数,默认使用的数据库为0
4.0.10 save
设置redis进行数据库镜像的频率。
|
|
4.0.11 rdbcompression
在进行镜像备份时,是否进行压缩
4.0.12 dbfilename
镜像备份文件的文件名
4.0.13 Dir
数据库镜像备份的文件放置路径
4.0.14 Slaveof
设置数据库为其他数据库的从数据库
4.0.15 Masterauth
主数据库连接需要的密码验证
4.0.16 requirepass
设置 登陆时需要使用密码
4.0.17 Maxclients
限制同时使用的客户数量
4.0.18 Maxmemory
设置redis能够使用的最大内存
4.0.19 maxmemory-policy
数据淘汰策略
volatile-lru:只对设置了过期时间的key进行LRU(默认值)
allkeys-lru : 删除lru算法的key
volatile-random:随机删除即将过期key #推荐
allkeys-random:随机删除
volatile-ttl : 删除即将过期的
noeviction : 永不过期,返回错误
4.0.20 appendonly
开启append only模式
4.0.21 appendfilename
AOF文件名(默认: “appendonly.aof”)
4.0.22 appendfsync
设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)
|
|
4.0.23 vm-enabled
是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
4.0.24 vm-swap-file
设置虚拟内存的交换文件路径
4.0.25 vm-max-memory
设置redis使用的最大物理内存大小
4.0.26 vm-page-size
设置虚拟内存的页大小
4.0.27 vm-pages
设置交换文件的总的page数量
4.0.28 vm-max-threads
设置VM IO同时使用的线程数量
4.0.29 Glueoutputbuf
把小的输出缓存存放在一起
4.0.30 hash-max-zipmap-entries
设置hash的临界值
4.0.31 Activerehashing
重新hash