1. 什么是Redis?
Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。其数据结构包括字符串、哈希表、列表、集合和排序集等,可以满足不同场景下的应用需要。Redis具有快速、高效、灵活和稳定等特点,因此被广泛应用于Web应用程序、移动应用程序、游戏、物联网等领域。
2. 安装Redis
2.1 准备工作
在安装Redis之前,需要确保CentOS 7系统已经安装了gcc编译器、tcl库和wget工具,这些都可以通过yum命令进行安装:
$ sudo yum install gcc
$ sudo yum install tcl
$ sudo yum install wget
2.2 下载与编译Redis
首先进入Redis的官网https://redis.io/download,选择最新版本的Redis进行下载。然后解压缩并进入Redis目录,执行make命令进行编译:
$ wget http://download.redis.io/releases/redis-6.0.11.tar.gz
$ tar xzf redis-6.0.11.tar.gz
$ cd redis-6.0.11/
$ make
如果出现以下错误:
In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
compilation terminated.
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/root/redis-6.0.11/src'
make: *** [all] Error 2
则需要执行以下命令,重新编译:
$ cd deps
$ make hiredis jemalloc linenoise lua
$ cd ..
$ make
等待编译完成后,执行make install命令进行安装:
$ sudo make install
2.3 配置Redis
安装完成后,需要进行Redis的配置。进入Redis目录下的utils子目录,执行install_server.sh脚本进行配置:
$ cd utils/
$ sudo ./install_server.sh
根据提示进行配置。如果使用默认配置,直接按Enter键即可。
3. 启停Redis服务
3.1 启动Redis服务
在完成配置后,就可以启动Redis服务了。执行以下命令:
$ sudo service redis_6379 start
其中,6379是Redis的默认端口号。
3.2 查看Redis状态
执行以下命令,可以查看Redis的运行状态:
$ sudo service redis_6379 status
如果看到以下输出,则说明Redis已经成功启动:
redis_6379 (pid 3294) is running...
3.3 关闭Redis服务
执行以下命令,可以关闭Redis服务:
$ sudo service redis_6379 stop
4. 使用Redis
使用Redis可以通过命令行,也可以通过PHP、Python等编程语言进行访问。以下是通过命令行进行访问的一些常用命令及其含义:
4.1 字符串操作
字符串是Redis中最基本的数据类型,可以用来存储文本、数字、二进制数据等。
4.1.1 SET命令
SET命令用来设置一个key-value对:
redis> SET key value
OK
其中,key是键,value是值。执行后,会返回OK表示设置成功。
4.1.2 GET命令
GET命令用来获取指定key的value:
redis> GET key
"value"
其中,value是之前设置的值。如果指定的key不存在,则返回nil。
4.1.3 INCR命令
INCR命令用来对指定key的值进行增加1操作:
redis> SET num 10
OK
redis> INCR num
(integer) 11
其中,num是之前设置的key。执行INCR命令后,num的值从10变为11。
4.2 哈希表操作
哈希表是Redis中一种存储结构,可以用来存储多个key-value对,类似于关联数组。
4.2.1 HSET命令
HSET命令用来设置一个哈希表中的field-value对:
redis> HSET hash field value
(integer) 1
其中,hash是哈希表的名称,field是键,value是值。执行后,会返回1表示设置成功。
4.2.2 HGET命令
HGET命令用来获取指定哈希表中的field的value:
redis> HGET hash field
"value"
其中,hash是哈希表的名称,field是键。如果指定的field不存在,则返回nil。
4.2.3 HGETALL命令
HGETALL命令用来获取指定哈希表中所有field-value对:
redis> HGETALL hash
1) "field"
2) "value"
其中,返回的结果是按照field-value对依次排列的。
4.3 列表操作
列表是Redis中一种存储结构,可以用来存储一组有序的数据。
4.3.1 LPUSH命令
LPUSH命令用来在列表的左侧插入一个或多个元素:
redis> LPUSH list value1 value2
(integer) 2
其中,list是列表的名称,value1、value2是要插入的元素。执行后,会返回2表示添加两个元素成功。
4.3.2 LRANGE命令
LRANGE命令用来获取列表指定范围的元素:
redis> LRANGE list 0 -1
1) "value2"
2) "value1"
其中,list是列表的名称,0和-1表示范围为从第一个到最后一个元素。返回结果是按照插入顺序依次排列的。
4.3.3 LPOP命令
LPOP命令用来从列表的左侧弹出一个元素:
redis> LPOP list
"value2"
其中,list是列表的名称。执行后,会返回最左侧的元素。
4.4 集合操作
集合是Redis中一种无序的数据结构,可以用来存储多个不重复的元素。
4.4.1 SADD命令
SADD命令用来向集合中添加一个或多个元素:
redis> SADD set value1 value2
(integer) 2
其中,set是集合的名称,value1、value2是要添加的元素。执行后,会返回2表示添加两个元素成功。
4.4.2 SMEMBERS命令
SMEMBERS命令用来获取集合中的所有元素:
redis> SMEMBERS set
1) "value1"
2) "value2"
其中,set是集合的名称。返回结果是无序的,并且不含重复元素。
4.4.3 SREM命令
SREM命令用来从集合中删除一个或多个元素:
redis> SREM set value1
(integer) 1
其中,set是集合的名称,value1是要删除的元素。执行后,会返回1表示删除成功。
4.5 排序集操作
排序集是Redis中一种有序的数据结构,每个元素都可以有一个分数(score),可以用来排序和范围查找。
4.5.1 ZADD命令
ZADD命令用来向排序集中添加一个或多个元素及其分数:
redis> ZADD sortedset 90 value1 80 value2
(integer) 2
其中,sortedset是排序集的名称,90和80是value1和value2的分数。执行后,会返回2表示添加两个元素成功。
4.5.2 ZRANGE命令
ZRANGE命令用来获取排序集指定范围内的元素:
redis> ZRANGE sortedset 0 -1
1) "value2"
2) "value1"
其中,sortedset是排序集的名称,0和-1表示范围为从第一个到最后一个元素。返回结果是按照分数从小到大排列的。
4.5.3 ZREM命令
ZREM命令用来从排序集中删除一个或多个元素:
redis> ZREM sortedset value1
(integer) 1
其中,sortedset是排序集的名称,value1是要删除的元素。执行后,会返回1表示删除成功。
5. 总结
本文介绍了在Linux CentOS 7系统中安装Redis的方法,以及常用的Redis命令及其操作。Redis作为一种高性能、高可靠性、高灵活性的内存数据存储系统,在现代Web应用系统和互联网分布式系统中广泛使用。