您的位置:

Redis Mac -- 多方面详解

一、安装与配置

1、下载并安装Redis

访问redis.io/download页面,下载最新版本的Redis。下载完毕后,将下载的文件解压到本地文件夹,并打开终端,进入Redis文件夹。

cd /path/to/redis/

2、编译Redis

在终端中执行如下指令进行编译Redis:

make

3、启动Redis服务器

在终端中执行如下指令启动Redis服务器:

./redis-server

4、连接Redis客户端

在终端中执行如下指令连接Redis客户端:

./redis-cli

5、配置Redis密码

在Redis客户端中执行如下命令进行密码配置:

config set requirepass yourpassword

6、验证Redis密码

在Redis客户端中执行如下命令验证密码是否配置成功:

auth yourpassword

7、配置Redis持久化

在Redis配置文件中开启持久化配置,修改redis.conf文件,找到如下配置项:

# bind 127.0.0.1
# requirepass foobared
appendonly no

将appendonly no改为appendonly yes,启用Redis持久化。

二、Redis数据类型

Redis有五种基本数据类型:

  • 字符串(String):二进制安全的字符串,最大长度为512M。
  • 哈希(Hash):键值对集合,即一个键对应一个值的集合。
  • 列表(List):一个序列集合,即一个列表中所有元素都有序排列。
  • 集合(Set):无序的字符串集合。
  • 有序集合(ZSet):字符串成员与浮点数分值之间的有序映射。

下面是Redis数据类型的代码示例:

# set字符串
set hello world
# hash哈希
hset person name LiMing
hset person age 18
hset person gender male
# list列表
lpush list1 a
lpush list1 b
lpush list1 c
# set集合
sadd set1 a
sadd set1 b
sadd set1 c
# zset有序集合
zadd zset1 1 a
zadd zset1 2 b
zadd zset1 3 c

三、Redis命令

  • 键操作
    • 键值操作:get/set/del/exists
    • 增减操作:incr/decr/incrby/decrby
    • 过期操作:expire/ttl/persist
  • 哈希操作
    • 哈希键值操作:hget/hset/hdel/hexists
    • 批量操作:hmget/hmset
    • 长度操作:hlen
  • 列表操作
    • 列表元素操作:lindex/linsert/lpop/lpush/lrange/lrem/lset/ltrim/rpop/rpush
    • 长度操作:llen
  • 集合操作
    • 集合元素操作:sadd/scard/sismember/smembers/srem
    • 集合运算:sunion/sdiff/sinter
  • 有序集合操作
    • 有序集合元素操作:zadd/zcard/zcount/zincrby/zrange/zrevrange/zrank/zrevrank/zrangebyscore/zrem/zremrangebyrank/zrevrangebyscore

下面是Redis常用命令的代码示例:

# 键操作
set hello redis
get hello
del hello
exists hello
# 哈希操作
hset person name LiMing
hset person age 18
hset person gender male
hget person name
hgetall person
hexists person name
# 列表操作
lpush list1 a
lpush list1 b
lpush list1 c
lrange list1 0 2
lpop list1
rpush list1 d
rpush list1 e
lrange list1 0 4
# 集合操作
sadd set1 a
sadd set1 b
sadd set1 c
smembers set1
scard set1
srem set1 b
smembers set1
# 有序集合操作
zadd zset1 1 a
zadd zset1 2 b
zadd zset1 3 c
zrange zset1 0 2
zrangebyscore zset1 2 3
zrank zset1 b

四、Redis应用

Redis可以用于存储各种数据类型,适用于缓存、消息队列、计数器、排行榜等场景。以下是Redis应用的例子:

  • 缓存
  • Redis可以作为缓存来做数据的快速读取,比如存储一些热点数据,读取时,先在Redis中查找,如果找到就直接返回,如果没有找到,再从数据库中查询。

  • 消息队列
  • Redis的列表数据类型可以当做消息队列来使用,使用rpush命令向队列中添加消息,使用lpop命令从队列中取出消息进行处理。

  • 计数器
  • 使用Redis的incr命令可以很方便地实现计数器功能,incr命令每次执行都会将指定键的值加一。

  • 排行榜
  • Redis的有序集合数据类型可以用于实现排行榜,将排名作为分值,选手名字作为成员,使用zadd命令向有序集合中添加选手,使用zrevrange命令查询排行榜。