1. 简介
Redis是一个高性能的key-value存储系统。Redis支持多种数据结构,如字符串、哈希、列表、集合等。Redis支持数据持久化,支持复制、高可用和分区等特性。Redis还支持Lua脚本等高级特性。
2. 安装Redis
2.1 安装依赖包
在安装Redis之前,我们需要先安装一些依赖包。
yum -y install gcc automake autoconf libtool make
gcc是GNU编译器,autoconf和automake是自动配置和生成Makefile的工具,libtool是一个通用库支持脚本工具,make是一个自动化编译工具。
2.2 下载Redis
Redis是一个开源项目,可以在官网上下载:https://redis.io/download
cd /usr/local/src
wget http://download.redis.io/releases/redis-3.2.12.tar.gz
解压下载的Redis源码包。
tar zxvf redis-3.2.12.tar.gz
2.3 编译安装Redis
进入下载的源码包所在目录,进行编译安装。
cd redis-3.2.12
make
make install
编译的过程可能需要一些时间,请耐心等待。
2.4 配置Redis
Redis的配置文件为redis.conf,我们将其拷贝到/etc/目录下。
cp redis.conf /etc/redis.conf
修改/etc/redis.conf文件。
bind 127.0.0.1 # 打开注释,允许本机访问
daemonize yes # 后台运行
logfile "/var/log/redis.log" # 日志文件路径
dir /var/lib/redis # 数据存储路径
2.5 启动Redis
启动Redis服务。
/usr/local/bin/redis-server /etc/redis.conf
可以通过执行以下命令来检查Redis服务是否启动。
ps -ef | grep redis-server
3. 使用Redis
3.1 Redis客户端
Redis提供了命令行客户端redis-cli,可以使用该客户端与Redis服务进行交互。
通过以下命令启动Redis客户端:
/usr/local/bin/redis-cli
可以使用PING命令来测试Redis是否可用。
PING
Redis将返回“PONG”,表示Redis服务可用。
3.2 Redis数据结构
Redis支持多种数据结构,其中最常用的数据结构包括字符串、哈希、列表、集合和有序集合。
3.2.1 字符串
字符串是Redis最基本的数据类型。可以使用SET命令设置一个键值对。
SET mykey "hello world"
可以使用GET命令获取键对应的值。
GET mykey
执行以上命令,将得到输出“hello world”。
3.2.2 哈希
哈希是Redis中的一种键值对集合。可以使用HSET命令设置一个哈希。
HSET myhash field1 "value1"
HSET myhash field2 "value2"
可以使用HGETALL命令获取哈希对应的所有键值对。
HGETALL myhash
执行以上命令,将得到输出:
1) "field1"
2) "value1"
3) "field2"
4) "value2"
3.2.3 列表
列表是Redis中的一种简单的数据类型,可以存储字符串类型的元素。可以使用LPUSH命令将元素添加到列表的左侧。
LPUSH mylist "world"
LPUSH mylist "hello"
可以使用LRANGE命令获取列表中的元素。
LRANGE mylist 0 -1
执行以上命令,将得到输出:
1) "hello"
2) "world"
3.2.4 集合
集合是Redis中的一种无序的字符串集合。可以使用SADD命令向集合中添加元素。
SADD myset "hello"
SADD myset "world"
可以使用SMEMBERS命令获取集合中的所有元素。
SMEMBERS myset
执行以上命令,将得到输出:
1) "hello"
2) "world"
3.2.5 有序集合
有序集合是Redis中的一种有序字符串集合。可以使用ZADD命令将元素添加到有序集合中。
ZADD myzset 1 "one"
ZADD myzset 2 "two"
可以使用ZRANGE命令获取有序集合中的所有元素。
ZRANGE myzset 0 -1
执行以上命令,将得到输出:
1) "one"
2) "two"
4. 总结
本文介绍了如何在CentOS 7上安装Redis 3.2,并对Redis支持的多种数据结构进行了简要介绍。
注意:以上命令均需要在root权限下执行。