前言
本篇将简述的内容:Linux系统下的Redis基础
一、概述
Redis(Remote Dictionary Server)是一个开源的高性能键值存储数据库,它是一种NoSQL数据库,常被用作缓存、消息队列和数据存储等场景。它支持多种数据结构,如字符串、哈希、列表、集合和有序集合,并提供了丰富的操作和功能。
内存数据结构存储系统
特点:速度快、支持丰富的数据结构、提供多种持久化方式、支持分布式
用途有缓存、计数器、分布式锁、消息队列
应用场景
缓存:Redis最常用的应用场景就是缓存,它可以缓存各种类型的数据,如数据库查询结果、API返回结果等,以提高应用程序的响应速度和并发性能。
分布式锁:Redis的分布式锁可以确保在分布式系统中对某个资源的互斥访问,避免多个节点出现并发操作的问题。
计数器:Redis支持对计数器的操作,能够方便地实现各种计数器的功能,如网站访问次数计数、订单数量计数等。
会话管理:Redis可以用来管理会话信息,实现会话的状态存储和共享,避免了单点故障的问题。
消息队列:Redis支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息处理和任务派发等功能。
监听端口号
6379
数据类型
字符串(string)
哈希值(hash)
列表(list)
集合(set)
位图(bitmap)
二、安装
配置基础环境
1.编译安装
wget http://download.redis.io/releases/redis-5.0.8.tar.gz make && make install
2.RPM安装
yum install -y epel-release yum install -y redis
启动
systemctl start redis
默认监听127.0.0.1地址
三、目录结构
yum安装
查询目录结构
rpm -ql redis
/etc/redis.conf 主配置文件
bind 127.0.0.1 修改监听地址
port 6379 修改监听端口号
pidfile 指定通过该配置文件启动reids进程后的PID文件名称
loglevel 定义日志级别
logfile 定义日志存储路径
databases 指定默认数据库数量
save 定义单位时间内key的改变次数
dbfilename 定义存储RDB持久化数据的文件名称
dir 定义RDB与AOF文件的存储目录
appendonly AOF的启停
appendfilename 定义AOF持久化文件的名称
appendfsync 定义AOF数据同步间隔
requirepass 设置登录redis的密码
/var/lib/redis 持久化文件存储目录
/var/log/redis 日志文件存储目录
/var/run/redis PID文件存储目录
四、命令解析
redis启动命令
redis-server /path/redis.conf
redis登录命令
redis-cli -h
redis服务器IP
redis-cli -p 1
指定访问端口号
redis-cli -a
redis-cli -a
指定登录密码
redis-cli -n
指定数据库编号
检查RDB文件
redis-check-rdb dump.rdb
检查AOF文件
redis-check-aof appendonly.aof
五、redis登录更改
问题:更改完port后,systemctl启动redis异常
解决办法:
使用redis-server /etc/redis.conf
若要redis后台运需修改配置文件 daemonize yes
六、数据库操作
登录数据库
1.本地登录
(一)监听回环地址
redis-cli
(二)监听本地网卡地址
redis-cli -h IP -p 端口号
2.远程登录
帮助信息
help 命令字
tab补齐
库操作与数据操作
(一)切换数据库
select 数据库编号
(二)set:设置键值对
set key value
(三)keys:查看键
查看所有键的名称
keys *
查看一个键是否存在
keys 键名称
(四)get:取出键值对
get 键
键不存在则返回空
(五)del:删除键值对
del key
(六)flushall:清空所有数据库中的数据
(七)rename:重命名键名称
不论更名后的键是否存在都会覆盖原有键,
并将改名前的键的值赋予改名后的键
rename oldkey newkey
(八)renamenx:重命名键名称
假如改名后键名称存在则更改不成功
renamenx oldkey newkey
(九)move:移动键值对到指定数据库
move key dbnumber
假如目标数据库中存在同名键则移动失败
(十)ttl:查看键值对的生命周期
ttl key
1
-1:永久
-2:已过期
(十一)expire:设置键值对的存储周期
expire key seconds
七、Redis持久化
持久化类型
1.RDB模式
默认持久化
文件名dump.rdb
数据库启动时会读取
触发条件:
edis进程退出:宕机或redis程序崩溃
手动保存(触发RDB):save
2.AOF模式
默认关闭
文件名appendonly.aof
默认进程启动时读取
可在主配置文件内开启
appendonly yes
可以与RDB同时使用
总结
Redis是一个功能强大的内存数据结构存储系统,具有高性能、高可用性和丰富的功能特性。在Linux系统下使用Redis,需要了解Redis的安装和启动、数据结构、持久化、主从复制、发布订阅、性能优化和安全性等方面的知识。通过合理的配置和使用Redis,可以提高系统的性能和可靠性。