网上关于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通。

以上错误解决了,基本上就连的通了:

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐