Redis数据库基础
目录
一、关系数据库与非关系数据库概念
1.关系型数据库
2.非关系型数据库
3.关系型数据库与非关系型数据库的区别
二、Redis简介
2.Redis的优点
3.Redis的数据类型
三、Redis部署
安装redis
配置文件
Redis 命令工具
Redis 数据库常用命令
exists:可以判断键值是否存在(0表示不存在;1表示存在)
type:可以获取 key 对应的 value 值类型
expire:可以为给定的 key 设置过期时间
ttl:可以查看 key 还有多少秒过期(-1表示永不过期,-2表示已过期)
rename:对已有 key 进行重命名
renamenx:对已有 key 进行重命名,并检测新名是否存在,如果目标 key 存在则不进行重命名
dbsize:查看当前数据库中 key 的数目
config set requirepass:设置密码(后边直接跟密码)
append:追加并返回value的长度
strlen:获取指定Key的字符长度
一、关系数据库与非关系数据库概念
1.关系型数据库
-
关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。
-
SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。
2.非关系型数据库
-
NoSQL(NoSQL = Not Only SQL ),是非关系型数据库的总称。
-
除了主流的关系型数据库外的数据库,都认为是非关系型。
3.关系型数据库与非关系型数据库的区别
-
数据存储方式不同
-
扩展方式不同
-
对事务性的支持不同
二、Redis简介
2.Redis的优点
(1)具有极高的数据读写速度:数据读取的速度最高可达到 110000 次/s,数据写入速度最高可达到 81000 次/s。
(2)支持丰富的数据类型:支持 key-value、Strings、Lists、Hashes、Sets 及 Ordered Sets 等数据类型操作。
string | 字符串(可以为整型、浮点型和字符串,通称为元素) |
---|---|
list | 列表(实现队列,元素不唯一,先入先出原则) |
set | 集合(各不相同的元素) |
hash | hash散列值(hash的key必须是唯一的) |
ordered set | 有序集合 |
(3)支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
(4)原子性,Redis 所有操作都是原子性的。
(5)支持数据备份,即 master-salve 模式的数据备份。
3.Redis的数据类型
-
String(字符串)
-
list(双向列表):
-
Hash(哈希):
-
set(集合):
-
zset(有序集合):
三、Redis部署
安装redis
yum install -y redis
配置文件
[root@localhost conf]# cd /etc/redis.conf
Redis 命令工具
服务器启动命令:127.0.0.1:6379>redis-server 性能测试工具,用于检测 Redis 在本机的运行效率:127.0.0.1:6379>redis-benchmark 修复有问题的 AOF 持久化文件:127.0.0.1:6379>redis-check-aof 修复有问题的 RDB 持久化文件:127.0.0.1:6379>redis-check-rdb 客户端命令行工具:127.0.0.1:6379>redis-cli 哨兵集群使用:127.0.0.1:6379>redis-sentinel
redis-cli命令行工具
指定远程主机:-h
-p :指定 Redis 服务的端口号
-a :指定密码,未设置数据库密码可以省略-a 选项
Redis 数据库常用命令
set:存放数据,命令格式为 set key value
get:获取数据,命令格式为 get key
keys:获取符合规则的键值列表
exists:可以判断键值是否存在(0表示不存在;1表示存在)
del:删除当前数据库的指定 key
type:可以获取 key 对应的 value 值类型
expire:可以为给定的 key 设置过期时间
ttl:可以查看 key 还有多少秒过期(-1表示永不过期,-2表示已过期)
rename:对已有 key 进行重命名
renamenx:对已有 key 进行重命名,并检测新名是否存在,如果目标 key 存在则不进行重命名
dbsize:查看当前数据库中 key 的数目
config set requirepass:设置密码(后边直接跟密码)
config get requirepass:查看密码
append:追加并返回value的长度
strlen:获取指定Key的字符长度
mset:批量设置键(mset 键名1 "值1" 键名2 "值2")
mget:查看键(mget 键1 键2)
select 序号:多数据库间切换
move 键值 序号:多数据库间移动数据
save:手动保存(确保因宕机导致内容丢失)