本节主要学习redis的概述,安装目录结构,命令解析和redis登录更改,数据库的操作,和redis的持久化。
目录
[appendonly.aof 默认进程启动时读取](#appendonly.aof 默认进程启动时读取)
一、概述
1、NoSQL
1.1非关系型数据库
1.2内存存储
1.3类型
文档型数据库(Document-oriented database)如MongoDB;
列族数据库(Column-family database)如HBase、Cassandra等;
图形数据库(Graph database)如Neo4j、ArangoDB等;
键值对数据库(Key-value database)如Redis、Memcached等;
对象数据库(Object-oriented database)如db4o等。
1.4应用场景
缓存:Redis最常用的应用场景就是缓存,它可以缓存各种类型的数据,如数据库查询结果、API返回结果等,以提高应用程序的响应速度和并发性能。
分布式锁:Redis的分布式锁可以确保在分布式系统中对某个资源的互斥访问,避免多个节点出现并发操作的问题。
计数器:Redis支持对计数器的操作,能够方便地实现各种计数器的功能,如网站访问次数计数、订单数量计数等。
会话管理:Redis可以用来管理会话信息,实现会话的状态存储和共享,避免了单点故障的问题。
消息队列:Redis支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息处理和任务派发等功能。
2、Redis
Remote Dictionary Server 远程字典服务
内存存储、持久化
键值对存储
监听端口号 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地址
三、目录结构
|----------------|-----------|
| rpm -ql redis---查看是否安装redis ||
| /var/lib/redis | 持久化文件存储目录 |
| /var/log/redis | 日志文件存储目录 |
| /var/run/redis | PID文件存储目录 |
|-----------------------------------------------------------------------------------------------------------------|------------------------------|
| /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的密码 |
四、命令解析
redis-server
redis-cli redis登录命令
-h redis服务器IP
-p 指定访问端口号
-a 指定登录密码
-n 指定数据库编号
redis-check-rdb 检查RDB文件
redis-check-aof 检查AOF文件
五、redis登陆更改
问题
更改完port后,systemctl启动redis异常
出现问题
解决办法
使用redis-server /etc/redis.conf
若要redis后台运需修改配置文件 daemonize yes
kill关闭redis
然后在重启,服务后台进行
六、数据库操作
1、登录数据库
1.1本地登录
监听回环地址 redis-cli
监听本地网卡地址 redis-cli -h IP -p 端口号
1.2远程操作
客户端: redis -cli -h 服务器地址 -p 端口号
2、帮助信息
help 命令字 tab补齐
3、库操作
select 数据库编号 ---切换
4、数据操作
|----------|--------------------------------------|
| set | 设置键值对 |
| set | set key value |
| keys | keys * ---查看所有键的名称 |
| keys | keys 键名称---查看一个键是否存在 |
| get | 取出键值对 |
| get | get 键 键不存在则返回空 |
| del | 删除键值对 |
| del | del key |
| flushall | 清空所有数据库中的数据 |
| rename | 重命名键名称 |
| rename | 不论更名后的键是否存在都会覆盖原有键, 并将改名前的键的值赋予改名后的键 |
| rename | rename oldkey newkey |
| renamenx | 移动键值对到指定数据库, |
| renamenx | move key dbnumber,假如目标数据库中存在同名键则移动失败 |
| ttl | 查看键值对的生命周期 |
| ttl | ttl key -1 永久 |
| ttl | -2 已过期 |
| expire | 设置键值对的存储周期 expire key seconds |
| expire | 设置键值对的存储周期 expire key seconds |
| expire | 设置键值对的存储周期 expire key seconds |
取出键值,添加键值,删除键值,查看键值
清除所有键值
重命名键名称
移动键值对到指定数据库,
查看键值对的生命周期
七、redis持久化
1、RDB模式
默认持久化
dump.rdb---数据库启动时会读取
触发条件
redis进程退出: 宕机 redis程序崩溃
手动保存(触发RDB)" save
2、AOF模式---默认关闭
appendonly.aof 默认进程启动时读取
开启
appendonly yes 可以与RDB同时使用
查看日志生成appendonly.aof
创建键值
查看日志