Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
1 准备环境
Redis 版本:5.0.5
下载地址:http://download.redis.io/releases/redis-5.0.5.tar.gz
2 编译安装
第一步:安装 C 语言需要的 GCC 环境和依赖 tcl
yum install gcc tcl -y
第二步:将 redis 安装包上传到 /opt/apps(自己可任意选择目录) 解压缩 Redis 源码压缩包
tar -zxf redis-5.0.5.tar.gz
第三步:编译 Redis 源码,进入 redis-5.0.5 目录,执行编译命令
make
make test
第四步:安装 Redis,需要通过 PREFIX 指定安装路径
make install PREFIX=/opt/redis-5.0
第五步:配置环境变量,并生效
export REDIS_HOME=/opt/redis-5.0
export PATH=
P
A
T
H
:
PATH:
PATH:REDIS_HOME/bin
第六步:准备配置文件
[root@node2 ~]# find / -name redis.conf
/opt/apps/redis-5.0.5/redis.conf
[root@node2 ~]# cd /opt/redis-5.0/
[root@node2 redis-5.0]# pwd
/opt/redis-5.0
[root@node2 redis-5.0]# mkdir conf
[root@node2 redis-5.0]# cd conf
[root@node2 conf]# cp /opt/apps/redis-5.0.5/redis.conf ./
[root@node2 conf]# ls
redis.conf
第七步:修改配置文件
[root@node2 conf]# vim redis.conf
daemonize yes #redis 后台运行
logfile “/opt/redis-5.0/log/redis_6379.log”
bind 127.0.0.1 192.168.20.72
第八步:创建日志目录
[root@node2 redis-5.0]# mkdir log
3 启动与关闭
3.1 服务器端
启动:
[root@node2 redis-5.0]# redis-server conf/redis.conf
检查是否启动好:
[root@node2 redis-5.0]# ps aux|grep redis
root 8235 0.1 0.7 152428 7772 ? Ssl 14:56 0:00
redis-server 127.0.0.1:6379
说明启动没有问题。
关闭:
[root@node2 conf]# redis-cli shutdown
[root@node2 conf]# ps aux|grep redis
root 8289 0.0 0.0 103260 876 pts/0 S+ 15:16 0:00 grep
redis
3.2 客户端命令
- redis-cli --help 查看帮助
- -p 指定端口号,-h 指定服务器名称或地址 --raw 选项让 redis-cli 显示中文
redis-cli -p 6379 -h 127.0.0.1 --raw
[root@node2 conf]# redis-cli --raw
127.0.0.1:6379> set name 张飞
OK
127.0.0.1:6379> get name
张飞
127.0.0.1:6379>
[root@node2 conf]# redis-cli
127.0.0.1:6379> get name
"\xe5\xbc\xa0\xe9\xa3\x9e"
192.168.20.72:6379>
- -n num 指定选择的数据库实例,默认为 0 表示第一个数据库实例
[root@node2 conf]# redis-cli -n 0
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379>
[root@node2 conf]# redis-cli -n 1
127.0.0.1:6379[1]> keys *
(empty list or set)
登录不同的库
[root@node2 ~]#redis-cli --help
[root@node2 ~]#redis-cli -n 2 # 指定进入编号是 2 的数据库 redis 中默认 0-15
16 个数据库
127.0.0.1:6379> select 2# 切换数据库的命令
清除当前库数据: FLUSHDB
清除所有库中的数据: FLUSHALL
4. 退出:exit 或 quit
node2:6379>exit
- help 帮助
登陆 redis 获取帮助
获取 help 的信息
127.0.0.1:6379> help
提示有哪些帮助
127.0.0.1:6379> help <tab>
查看 set 命令的帮助
127.0.0.1:6379> help set
查看 string 类型的命令帮助
127.0.0.1:6379> help @string
安装时踩坑记录:
You need tcl 8.5 or newer in order to run the Redis test
解决办法:
wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
cd /usr/local/tcl8.6.1/unix/
./configure
make
make install