安装 Redis
下载安装包
访问 Redis 官方网站(https://redis.io/),下载适合你操作系统的 Redis 安装包。
解压安装
将下载的安装包解压到指定目录。
编译安装
在解压后的目录中,执行 `make` 命令进行编译,然后执行 `make install` 命令进行安装。
配置 Redis
配置文件位置
Redis 的配置文件通常名为 `redis.conf`,位于 Redis 安装目录下
常见配置项
bind
指定 Redis 监听的 IP 地址,默认为 127.0.0.1,若要允许其他机器访问,可修改为 0.0.0.0,但需注意安全性。
port
指定 Redis 监听的端口,默认为 6379。
requirepass
设置 Redis 的访问密码,增强安全性。
maxmemory
设置 Redis *内存限制,当内存达到此限制时,Redis 会根据配置的策略进行内存淘汰。
appendon*
设置是否开启 AOF(Append On* File)持久化模式,默认为 no,开启后可提高数据的可靠性。
启动 Redis
命令行启动
在 Redis 安装目录下,执行 `redis-server` 命令,后跟配置文件路径,如 `redis-server /path/to/redis.conf`,即可启动 Redis 服务器。 -
后台启动
若要在后台启动 Redis,可修改配置文件中的 `daemonize` 配置项为 `yes`,然后执行上述启动命令。
使用 Redis
连接 Redis
可以使用 Redis 客户端连接到 Redis 服务器。常见的 Redis 客户端有 redis-cli、Jedis(Java)、StackExchange.Redis(.NET)等。以 redis-cli 为例,在命令行中执行 `redis-cli -h <host> -p <port> -a <password>` 命令,其中 `<host>` 为 Redis 服务器的 IP 地址,`<port>` 为 Redis 监听的端口,`<password>` 为 Redis 的访问密码,若未设置密码则可省略 `-a` 参数。
数据结构操作
字符串(String)
使用 `SET` 命令设置键值对,如 `SET key value`;使用 `GET` 命令获取键对应的值,如 `GET key`。
哈希(Hash)
使用 `HSET` 命令设置哈希字段值,如 `HSET key field value`;使用 `HGET` 命令获取哈希字段的值,如 `HGET key field`。
列表(List)
使用 `LPUSH` 命令将元素插入列表头部,如 `LPUSH key value1 value2...`;使用 `LRANGE` 命令获取列表指定范围内的元素,如 `LRANGE key start stop`。
集合(Set)
使用 `SADD` 命令向集合中添加元素,如 `SADD key member1 member2...`;使用 `*EMBERS` 命令获取集合中的所有元素,如 `*EMBERS key`。
有序集合(Sorted Set)
使用 `ZADD` 命令向有序集合中添加元素及分数,如 `ZADD key score1 member1 score2 member2...`;使用 `ZRANGE` 命令按照分数从小到大获取有序集合中的元素,如 `ZRANGE key start stop [WITHSCORES]`,添加 `WITHSCORES` 参数可同时获取元素的分数。
事务操作
Redis 支持事务,使用 `MULTI` 命令开启事务,然后输入多个操作命令,*使用 `EXEC` 命令执行事务中的所有操作,若在事务执行过程中出现错误,可使用 `DISCARD` 命令取消事务。
发布订阅
Redis 提供了发布订阅功能,使用 `PUBLISH` 命令发布*到指定频道,如 `PUBLISH channel message`;使用 `SUBSCRIBE` 命令订阅一个或多个频道,如 `SUBSCRIBE channel1 channel2...`,当有*发布到订阅的频道时,客户端会收到相应的*通知。
管理 Redis
查看信息
使用 `INFO` 命令可以查看 Redis 服务器的各种信息,包括服务器状态、内存使用情况、客户端连接数等。
监控命令执行
使用 `MONITOR` 命令可以实时监控 Redis 服务器接收到的所有命令及其执行情况。
内存管理
通过 `INFO` 命令查看内存使用情况,根据实际情况调整 `maxmemory` 等配置项,还可以使用 `MEMORY USAGE` 命令查看指定键的内存占用情况。 以上只是 Redis 的基本配置和使用*,Redis 还有很多*功能和配置选项,可根据具体需求进一步深入学习和研究。