1. redis部署
redis是一种高性能的键值存储系统,相较于传统的MySQL,其存取速度更快,能更好地支持高并发。下面介绍如何部署redis。
1.1 下载redis
首先访问redis官网(https://redis.io/),下载最新版redis压缩包。解压后,进入解压目录,执行如下命令启动redis:
cd redis
./src/redis-server
此时,就成功启动了redis服务器。
1.2 redis配置
redis的配置文件为redis.conf,可以在命令行中执行如下命令查看redis.conf路径:
redis-cli
config get dir
将会返回如下路径:
1) "dir"
2) "/usr/local/etc/redis"
然后我们进入该目录,通过编辑redis.conf修改redis的参数。
例如修改redis监听的端口号,将`port`字段改为`6380`:
port 6380
修改完成之后,重启redis服务器即可使用新的配置:
./src/redis-server /usr/local/etc/redis/redis.conf
2. redis数据类型
redis支持多种数据类型,包括字符串、列表、哈希表、集合、有序集合等。下面分别介绍每种数据类型,并给出使用命令的示例。
2.1 字符串
redis中的字符串类型,可以存储任意类型的数据,包括数字、二进制数据等。下面是相关的redis命令:
SET key value [EX seconds] [PX milliseconds] [NX|XX]: 设定key对应的value。如果key已经存在,会覆盖原来的value。如果设置了EX参数,代表过期时间,单位为秒;PX参数为过期时间,单位为毫秒;NX参数表示只在key不存在时才设置value;XX参数则表示只在key已经存在时才设置value。
GET key: 获取key对应的value
MGET key [key...]: 获取多个key对应的value
DEL key [key...]: 删除key及对应的value
INCR key: 将key对应的value加1,如果key不存在,会将其初始化为0
2.2 列表
redis中的列表类型,可以存储多个字符串类型的元素,支持各种类型的插入和删除操作。下面是相关的redis命令:
RPUSH key value [value...]: 在列表的末尾插入一个或多个元素
LPUSH key value [value...]: 在列表的头部插入一个或多个元素
LSET key index value: 修改列表中指定索引的元素的值
LPOP key: 删除并返回列表的头部元素
RPOP key: 删除并返回列表的末尾元素
2.3 哈希表
redis中的哈希表类型,可以存储多个键值对,支持各种类型的插入、查询和删除操作。下面是相关的redis命令:
HSET key field value [field value...]: 在哈希表中插入一个或多个键值对
HGET key field: 获取哈希表中指定键的值
HMGET key field [field...]: 获取哈希表中多个键的值
HDEL key field [field...]: 删除哈希表中指定键的值
HLEN key: 获取哈希表的长度
2.4 集合
redis中的集合类型,可以储存多个字符串类型的元素,支持各种类型的插入、查询和删除操作。不同之处在于,集合中的元素是唯一的。下面是相关的redis命令:
SADD key member [member...]: 在集合中插入一个或多个元素
SMEMBERS key: 获取集合中所有元素
SISMEMBER key member: 判断元素是否在集合中
SREM key member [member...]: 删除集合中指定元素
SCARD key: 获取集合中元素的数量
2.5 有序集合
redis中的有序集合类型,是集合类型的扩展,每个元素都会关联一个权重(score),可以对元素按权重进行排序。下面是相关的redis命令:
ZADD key score member [score member...]: 在有序集合中插入一个或多个元素
ZRANGE key start stop [WITHSCORES]: 获取有序集合指定区间内的元素。start和stop为索引值,WITHSCORES参数表示同时返回权重。
ZRANK key member: 获取有序集合中某个元素的索引
ZREM key member [member...]: 删除有序集合中指定元素
ZCARD key: 获取有序集合中元素的数量