Linux 安装 Redis

2 篇文章 0 订阅

1. 基本知识

Redis 的数据类型:

字符串,列表 (lists),集合 (sets),有序集合 (sorts sets),哈希表 (hashs) 

Redis 和 Memcache 相比的独特之处:

Redis 可以用来做存储 (storge),而 Memcache 是来做缓存 (cache) ,这个特点主要是因为其有持久化功能;
对于 Memcache 来说,存储的数据只有一种类型,字符串,而 Redis 则可以存储字符串、链表、集合、有序集合、哈序结构。

持久化的两种方式:

Redis 将数据存储于内存中,或被配置为使用虚拟内存,实现数据持久化的两种方式:

使用截图的方式,将内存中的数据不断写入磁盘 (性能高 , 但可能会引起一定程度的数据丢失) 
使用类似 MySql 的方式,记录每次更新的日志

Redis 服务端的默认端口是 6379


2. 安装 Redis

先去官网下载 Redis 安装包 https://redis.io/download

放到 /usr/local/app_pack 目录下面,解压文件:

tar -zxvf redis-4.0.6.tar.gz

进入到解压后的目录:

cd redis-4.0.6

编译程序:

make

安装到指定目录:

make install PREFIX=/usr/local/redis

这时候 Redis 程序已经被安装到 /usr/local/redis/bin 目录

将配置文件移动到安装目录:

mv redis.conf /usr/local/redis/etc/redis.conf

启动 Redis 服务器:

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

这里是用 /usr/local/redis/etc/redis.conf 配置文件启动 Redis

关闭 Redis 服务器:

/usr/local/redis/bin/redis-cli shutdown

或者 pkill redis-server

客户端连接:

/usr/local/redis/bin/redis-cli

链接到指定主机时,用 /usr/local/redis/bin/redis-cli -h 192.168.22.150 -p 6379

设置一个 Redis 键值对:

127.0.0.1:6379> set foo bar
OK

根据键获取值:

127.0.0.1:6379> get foo
"bar"

设置密码,编辑配置文件:

vim /usr/local/redis/etc/redis.conf

设置 requirepass 12345678 ,即设置密码为 12345678

客户端连接时,需要 AUTH:

127.0.0.1:6379> auth 12345678
OK

默认情况 Redis 不是在后台运行,如果需要把 Redis 放在后台运行,编辑配置文件,将 daemonize 的值改为 yes

vim /usr/local/redis/etc/redis.conf

让 Redis 开机启动:

vim /etc/rc.local

加入

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf

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 同时使用的线程数量

4. 错误解决办法

客户端连接时,提示 DENIED Redis is running in protected mode because protected mode is enabled...

将配置文件里的 `protected mode`改为了 `no` ,原本是 `yes`

客户端连接时,提示 Connection refused...

可能是配置文件里面的 bind 字段设置了入口 IP,将其注释

作者 Github : tojohnonly , 博客 : EnskDeCode

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值