【redis基础】

目录

一、概述

1.NoSQL

[1.1 简述](#1.1 简述)

[1.2 类型](#1.2 类型)

[1.3 应用场景](#1.3 应用场景)

[1.3.1 缓存](#1.3.1 缓存)

[1.3.2 分布式锁](#1.3.2 分布式锁)

[1.3.3 计数器](#1.3.3 计数器)

[1.3.4 会话管理](#1.3.4 会话管理)

[1.3.5 消息队列](#1.3.5 消息队列)

2.Redis

[2.1 简述](#2.1 简述)

[2.2 特性](#2.2 特性)

[2.3 监听端口号](#2.3 监听端口号)

[2.4 数据类型](#2.4 数据类型)

二、安装

1.编译安装

2.RPM安装

三、目录结构

1.查看

2.主配置文件

3.持久化文件存储目录

4.日志文件存储目录

5.PID文件存储目录

四、命令解析

1.redis启动命令

2.redis登录命令

3.检查RDB文件

4.检查AOF文件

五、redis登录更改

1.问题

2.解决办法

六、数据库操作

1.登录数据库

[1.1 远程登录](#1.1 远程登录)

[1.2 本地登录](#1.2 本地登录)

[1.2.1 监听回环地址](#1.2.1 监听回环地址)

[1.2.2 监听本地网卡地址](#1.2.2 监听本地网卡地址)

2.帮助信息

3.库操作

4.数据操作

[4.1 set](#4.1 set)

[4.2 keys](#4.2 keys)

[4.3 get](#4.3 get)

[4.4 del](#4.4 del)

[4.5 flushall](#4.5 flushall)

[4.6 rename](#4.6 rename)

[4.7 renamenx](#4.7 renamenx)

[4.8 move](#4.8 move)

[4.9 ttl](#4.9 ttl)

[4.10 expire](#4.10 expire)

七、Redis持久化

1.RDB模式

[1.1 默认状况](#1.1 默认状况)

[1.2 dump.rdb](#1.2 dump.rdb)

[1.3 触发条件](#1.3 触发条件)

[1.3.1 redis进程退出](#1.3.1 redis进程退出)

[1.3.2 手动保存(触发RDB)](#1.3.2 手动保存(触发RDB))

2.AOF模式

[2.1 默认状况](#2.1 默认状况)

[2.2 appendonly.aof](#2.2 appendonly.aof)

[2.3 开启](#2.3 开启)


一、 概述

1.NoSQL

1.1 简述

非关系型数据库,内存存储

1.2 类型

文档型数据库(Document-oriented database)如MongoDB;

列族数据库(Column-family database)如HBase、Cassandra等;

图形数据库(Graph database)如Neo4j、ArangoDB等;

键值对数据库(Key-value database)如Redis、Memcached等;

对象数据库(Object-oriented database)如db4o等。

1.3 应用场景

1.3.1 缓存

Redis最常用的应用场景就是缓存,它可以缓存各种类型的数据,如数据库查询结果、API返回结果等,以提高应用程序的响应速度和并发性能。

1.3.2 分布式锁

Redis的分布式锁可以确保在分布式系统中对某个资源的互斥访问,避免多个节点出现并发操作的问题。

1.3.3 计数器

Redis支持对计数器的操作,能够方便地实现各种计数器的功能,如网站访问次数计数、订单数量计数等。

1.3.4 会话管理

Redis可以用来管理会话信息,实现会话的状态存储和共享,避免了单点故障的问题。

1.3.5 消息队列

Redis支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息处理和任务派发等功能。

2.Redis

2.1 简述

Remote Dictionary Server 远程字典服务

汉化官网 https://www.redis.net.cn/

2.2 特性

内存存储、持久化

键值对存储

2.3 监听端口号

6379

2.4 数据类型

字符串(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地址

三、目录结构

1.查看

rpm -ql redis

2.主配置文件

/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的密码

3.持久化文件存储目录

/var/lib/redis

4.日志文件存储目录

/var/log/redis

5.PID文件存储目录

/var/run/redis

四、命令解析

1.redis启动命令

redis-server

2.redis登录命令

redis-cli

选项:

-h redis服务器IP
-p 指定访问端口号
-a 指定登录密码
-n指定数据库编号

3.检查RDB文件

redis-check-rdb

4.检查AOF文件

redis-check-aof

五、redis登录更改

1.问题

更改完port后,systemctl启动redis异常

2.解决办法

使用redis-server /etc/redis.conf

若要redis后台运需修改配置文件 daemonize yes

六、数据库操作

1.登录数据库

1.1 远程登录

修改配置文件监听地址

vim /etc/redis.conf

开启并修改使用密码

远程登录

:若不加密码,仍然可进入远程redis,但此时除了退出之外,其余操作皆无效。

1.2 本地登录

1.2.1 监听回环地址

redis-cli

1.2.2 监听本地网卡地址

redis-cli -h IP -p 端口号

2.帮助信息

help 命令字

tab补齐

3.库操作

切换 select 数据库编号

4.数据操作

4.1 set

设置键值对

set key value

4.2 keys

keys * 查看所有键的名称

keys 键名称 查看一个键是否存在

4.3 get

取出键值对

get 键

键不存在则返回空(nil)

4.4 del

删除键值对

del key

4.5 flushall

清空所有数据库中的数据

:慎用

4.6 rename

重命名键名称

不论更名后的键是否存在都会覆盖原有键,

并将改名前的键的值赋予改名后的键

rename oldkey newkey

4.7 renamenx

重命名键名称

假如改名后键名称存在则更改不成功

renamenx oldkey newkey

4.8 move

移动键值对到指定数据库

move key dbnumber

假如目标数据库中存在同名键则移动失败

4.9 ttl

查看键值对的生命周期

ttl key

-1 永久

-2 已过期

4.10 expire

设置键值对的存储周期

expire key seconds

七、Redis持久化

1.RDB模式

1.1 默认状况

默认持久化

1.2 dump.rdb

数据库启动时会读取

1.3 触发条件

1.3.1 redis进程退出

宕机

redis程序崩溃

1.3.2 手动保存(触发RDB)

save

:有别于mysql的备份,此文件存储的是数据。

2.AOF模式

2.1 默认状况

默认关闭

2.2 appendonly.aof

默认进程启动时读取

2.3 开启

appendonly yes

可以与RDB同时使用

:此文件存储的是命令步骤,与mysql类似。此文件不可手动写入,需自动生成。

相关推荐
斯特凡今天也很帅1 分钟前
clickhouse常用语句汇总——持续更新中
数据库·sql·clickhouse
极简网络科技19 分钟前
Docker、Wsl 打包迁移环境
运维·docker·容器
黑客老李24 分钟前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
杨浦老苏25 分钟前
轻量级Docker管理工具Docker Switchboard
运维·docker·群晖
江湖有缘28 分钟前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
超级小忍1 小时前
如何配置 MySQL 允许远程连接
数据库·mysql·adb
RussellFans1 小时前
Linux 文本三剑客(grep, awk, sed)
linux·运维·服务器
吹牛不交税2 小时前
sqlsugar WhereIF条件的大于等于和等于查出来的坑
数据库·mysql
小袁搬码2 小时前
PL/SQLDeveloper中数值类型字段查询后显示为科学计数法的处理方式
oracle·oracle数据库·pl.sqldeveloper
猴哥聊项目管理2 小时前
什么是DevOps智能平台的核心功能?
运维·项目管理·制造·devops·软件·项目管理软件·软件分享