网上关于redis的安装和使用教程有很多,有很多都是相互的摘抄转载,甚至不够完整详细,为此,我在这重新整理了一篇,也为了以后的学习、安装、使用不再浪费查找文档的时间。(安装亲测有效)
1.关于redis
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
简介
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份
优势
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
2.安装
官网下载redis安装包 https://redis.io/download
放到 /usr/local/package 目录下面(可新建文件夹) , 解压文件 :
# tar -zxvf redis-5.0.3.tar.gz
进入到解压后的目录 :
# cd redis-5.0.3
编译程序:
# make
安装到指定目录:
# make install PREFIX=/usr/local/redis
安装完成
这时redis已安装完成,需将配置文件redis.conf移动到上一步的安装目录之下:
# mv redis.conf /usr/local/redis/etc/redis.conf
这一步需要在/usr/local/redis目下新建一个etc文件夹
移动过去之后,启动redis服务器:
# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
注:这是用配置文件redis.conf启动的
以上启动只是临时启动,后台运行和开机启动需要编辑配置文件:
# vim /usr/local/redis/etc/redis.conf
将daemonize 的值改为 yes
让 Redis 开机启动 :
# vim /etc/rc.local
在该配置文件中加入
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
esc +:wq 保存退出
修改完之后在运行一下
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
redis已经在后台运行了
3.相关配置参数
/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 同时使用的线程数量
widdows可视化工具的安装和使用
下载
官网下载:https://redisdesktop.com/download
github地址:https://github.com/uglide/RedisDesktopManager/releases
建议直接百度云盘下载:
百度网盘:http://pan.baidu.com/s/1kU8sY3P
安装
名称自取,redis默认安装是没有密码的, host:服务器ip,端口6379
提示:
连接之前需要到云服务器控制台开放6379端口。
错误解决
1.客户端连接时 , 提示 DENIED Redis is running in protected mode because protected mode is enabled...
- 将配置文件里的 protected mode改为了 no , 原本是 yes
2.客户端连接时 , 提示 Connection refused...
- 可能是配置文件里面的 bind 字段设置了入口 IP , 将其注释
其间可以ping一下6379端口,看看能否ping通。
以上错误解决了,基本上就连的通了: