Redis是开源的高性能键值存储数据库,以其数据速度快和内存消耗低而闻名。支持多种数据结构,如字符串、哈希、集合、列表和有序集合,提供多样命令用于操作这些结构。Redis适用于缓存数据库与数据存储数据库,广泛应用于如缓存、日志存储、计数器、排行榜以及消息队列等场景。
Redis的优势包括:
Redis与数据库的关系在于,它既可以作为提升应用性能的缓存数据库,也可以作为实时数据分析或交互式查询的数据存储数据库。
安装与配置Redis下载:访问Redis官网或使用包管理器获取最新版本安装包。
wget https://download.redis.io/releases/redis-6.2.13.tar.gz
解压:
tar -xzf redis-6.2.13.tar.gz cd redis-6.2.13
编译:
make
安装:
sudo make install
sudo redis-server redis.conf
配置文件位于 /etc/redis/redis.conf
,修改以适应需求。在 run
部分设置正确的 pidfile
和 port
端口。确保 secure文件夹
(如位于 /var/lib/redis/
)权限正确。
安装与启动Redis后,以下为基础命令:
创建键值对:
redis-cli set mykey myvalue
获取键值对:
redis-cli get mykey
redis-cli del mykey
这些基础命令是Redis操作的核心。
数据类型实战字符串:用于存储简单的文本数据或小量数据。
redis-cli set mystring "Hello, Redis!" redis-cli get mystring
列表:用于存储有序的元素序列。
redis-cli lpush mylist item1 redis-cli rpush mylist item2 redis-cli lrange mylist 0 -1
集合:用于存储不重复的元素集合。
redis-cli sadd myset item1 redis-cli sadd myset item2 redis-cli smembers myset
有序集合:集合中的元素有序并关联一个分数值,常用于排行榜系统。
redis-cli zadd myzset item1 1 redis-cli zadd myzset item2 2 redis-cli zrange myzset 0 -1 WITHSCORES
redis-cli hset myhash key1 value1 redis-cli hget myhash key1
Redis提供两种持久化方式:RDB(Redis Database)与AOF(Append Only File)。
RDB持久化:
redis-cli save
redis-cli appendonly yes
一旦Redis遇到故障,通过以下方式恢复数据:
RDB恢复:
redis-server redis.conf --loadmodule /path/to/your/redis/modules/your_module.so
redis-server redis.conf --appendonly no
过期策略:
redis-cli expire mykey 60
内存配置:
在redis.conf
文件中调整maxmemory
与maxmemory-policy
参数控制内存使用,避免内存溢出。
MONITOR
命令监控内存使用情况,确保内存使用合理。主从复制:
创建主节点与从节点,确保数据一致性与高可用性。
Redis是功能强大、灵活且性能卓越的键值存储数据库,适用于高性能数据存储与处理场景。通过掌握上述基础与策略,您能高效利用Redis提升应用性能与稳定性。