【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类似。此文件不可手动写入,需自动生成。

相关推荐
白手小弟27 分钟前
python wxauto库实现微信自动化发送信息、回复、添加好友等
运维·自动化
途途途途27 分钟前
精选9个自动化任务的Python脚本精选
数据库·python·自动化
ii_best29 分钟前
ios按键精灵自动化的脚本教程:自动点赞功能的实现
运维·ios·自动化
3DVisionary32 分钟前
数字图像相关DIC技术用于机械臂自动化焊接全场变形测量
运维·数码相机·自动化·焊接变形实验·数字图像相关dic技术·自动化焊接全场变形测量·非接触高精度环境适应性全场测量
04Koi.1 小时前
Redis--常用数据结构和编码方式
数据库·redis·缓存
silver98861 小时前
mongodb和Cassandra
数据库
PersistJiao1 小时前
3.基于 Temporal 的 Couchbase 动态 SQL 执行场景
数据库·sql
IT机器猫1 小时前
Docker完整技术汇总
运维·docker·容器
无所不在的物质1 小时前
Jenkins基础教程
运维·云原生·自动化·jenkins
一休哥助手2 小时前
全面解析 Linux 系统监控与性能优化
linux·运维·性能优化