一、redis相关
什么是redis
Redis是用c语言开发的一个开源的高性能键值对(key-value数据库),它通过提供多种键值数据类型来适应不同的场景下的存储需求,目前Redis支持的键值对数据类型如下:
- 字符串数据类型
- 散列数据类型
- 列表数据类型
- 集合类型
- 有序集合类型
redis的应用场景
- 缓存(数据查询、短链接、新闻内容、商品内容等等)(用的最多)
- 聊天室在线聊天列表
- 任务队列(秒杀、抢购)
- 应用排行榜
- 网站访问统计
- 数据过期处理
- 分布式集群架构中的session分离
二、Redis的安装
linux服务器CentOS7,下载redis安装包:地址:http://www.redis.cn/download.html
1.解压源码
tar -zxvf redis-4.0.11.tar.gz
2.进入解压目录进行编译安装
#进入解压目录
cd /root/software
mv redis-4.0.11 /usr/local/redis
#进行编译安装,安装到指定目录
make install PREFIX=/usr/local/redis
配置
修改拷贝过来的redis.conf文件
cd /usr/local/redis
vim redis.conf
1.将port端口修改为8084(默认是6379,可以自定义,强烈建议修改,不用默认端口)
2.将daemonize yes修改为yes,这样可以从后端启动
3.将bind设置为0.0.0.0(我设置成这样是为了可以方便jedis的访问,因为redis的这个bind绑定的是可以访问的ip地址)
启动
前端启动
直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。
后端启动(推荐)
./bin/redis-server ./redis.conf
#查看redis进程相关信息
ps -ef|grep redis
停止
- 强制杀死进程
#查询redis对应的pid
ps aux|grep -i redis
kill -9 pid
2. 正常停止
cd /usr/local/redis
./bin/redis-cli shutdown
测试
redis-cli -h ip地址 -p 是redis自带的基于命令行的Redis客户端
#进入redis的bin目录,运行
./redis-cli
#ping测试客户端与Redis的链接是否正常,如果连接正常会受到pong
127.0.0.1:6379> ping
PONG
#set/get,使用set和get想redis设置数据、获取数据
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> get a
"1"
#key *,查看当前库中的所有key值
127.0.0.1:6379> key *
三、开机服务启动设置
1、拷贝 redis相关文件
cp /usr/local/redis-4.0.2/utils/redis_init_script /etc/init.d/redis
2、修改/etc/init.d/redis 文件,修改redis文件安装目录
vim redis
REDISPORT=8084
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
#CONF="/etc/redis/${REDISPORT}.conf"
CONF="/usr/local/redis/redis.conf"
3、开机启动设置,执行一下命令:
- 查看是否已有redis服务:
chkconfig --list
- 若没有,则添加redis服务:
chkconfig --add redis
- 设为开机启动 :
chkconfig redis on
4、验证是否设置成功:
- 打开redis命令:
service redis start
- 关闭redis命令:
service redis stop
- 查看相关进程
ps -ef|grep redis
四、回马枪
- 接下来我们看看/usr/local/redis/bin目录下的几个文件:
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
- Redis的配置项
daemonize:如需要在后台运行,把该项的值改为yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量