目录

一、数据库类型

1、关系型数据库

2、非关系型数据库

3、关系型非关系型区别

二、Redis数据库

1、什么是Redis

3、Redis特点

4、Redis为什么读写快

5、部署Redis数据库

6、redis管理

7、Redis数据库五大类型

8、Redis数据库基础使用

9、redis五大类型增删查 


一、数据类型

1、关系数据

关系数据库:是一个机构号的数据库,创建关系模型基础上,是一个二维表,表中字段记录关联,先建库再建表

2、非关系数据

关系数据库:NoSQL(NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系数据库的总称。除主流关系型数据库都是非关系型数据库,Redis、Hbase、大部分用在缓存

3、关系型非关系型区别

非关系数据库:数据保存在缓存中,利于读取速度/查询数据、架构位置灵活、分布式扩展性

系数据库:安全性高(持久化)、事务处理能力强、任务控制能力强、做日志备份恢复、容灾的能力更强一点。

二、Redis数据库

1、什么是Redis

Redis远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库即非关系数据库。

Redis服务器程序是单进程模型,也就是在一台服务器可以同时启动多个Redis进程,在实际生产环境中,需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程

Redis 6.0 中新增加的多线程也只是针对处理网络请求过程采用了多线性,而数据的读写命令,仍然是单线程处理的。

2、Redis命中机制和淘汰机制

命中机制:查询数据可以查询到,例如查询100条可以查询到20条即命中20条

淘汰机制:Redis缓存的是高热数据,若负载高于限制则淘汰一些最近没有访问的数据,即删除

3、Redis特点

读写速度快,读最高可达110000次/s  写最高81000次/s。

支持丰富的数据类型keyvaluestrings、 lists等。

持久化,可以将内存中的数据保存磁盘中,重启时再次加载内存进行使用,定期快照日志记录方式保存(类似增量备份)。

原子性:redis 所有操作都是原子性的。

支持数据备份:即 master-salve 模式数据备份

4、Redis为什么读写

①、redis是一款纯内存结构工作在内存中,避免了磁盘I/O等操作耗时操作

②、redis命令处理核心模块是单线程,减少了锁竞争,以及频繁创建线程和销毁线程的代价,减少了线程上下文切换的消耗

③、采用I/O多路复用技术,大大提高并发效率

5、部署Redis数据库

yum install -y   gcc  gcc-c++ make 
#安装工具
cd /opt 
#进入opt目录软件包上传
tar  zxvf  redis-5.0.7.tar
#解压安装包
cd /opt/redis-5.0.7
#进入解压文件夹make 
#将源代码转换二进制
 make install prefix=/usr/local/redis
#安装进硬盘,永久保存在硬盘上 指定安装目录到/usr/local/redis
cd /opt/redis-5.0.7/utils 
#进入到安装目录执行安装脚步
./install_server.sh
#执行安装脚步
Please select the redis port for this instance: [6379]
#第一个是询问设置redis端口设置直接回车则默认是6379
Please select the redis config file name [/etc/redis/6379.conf]
#第二个询问设置redis主配置文件路径,不设置直接回车则是/etc/redis/6379.conf文件
Please select the redis log file name [/var/log/redis_6379.log]
#第三个询问设置redis日志文件位置,不设置直接回车是/var/log/redis_6379.log文件
Please select the data directory for this instance [/var/lib/redis/6379]
#第四个询问设置管理redis的RDB文件保存路径不设置直接回车是/var/log/redis_6379.log文件
Please select the redis executable path [/usr/local/bin/redis-server]
#第五个设置redis执行文件路径redis-cli等若设置则直接填写比如设置为/usr/local/redis/bin/redis-server。
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
#询问是否配置完成确认安装,回车表示配置完成确认安装,Ctrl-C终止安装
netstat  -antp |grep redis
#安装完成后redis是自动启动的。查询是否有redis进程有则安装成功
ln -s /usr/local/redis/bin/* /usr/local/bin/
#把redis的可执行程序文件放入路径环境变量的目录中便于系统识别即可以在任何位置使用此文件内命令

6、redis管理

①redis-server用于启动redis的工具

②redis-checkrdb修复rdb持久化文件

③redis-checkaof修复aof持久化文件

④redis-benchmark用于检测redis在本机运行效率

redis-benchmark官方自带的 Redis 性能测试工具,可以有效的测试 Redis 服务性能基本测试语法:redis-benchmark [选项] [选项值]。
-h :指定服务主机名。
-p指定服务器端口。
-s :指定服务socket
-c指定并发连接数。 
-n :指定请求数。
-d :以字节的形式指定 SET/GET 值的数据大小。
-k :1=keep alive 0=reconnect 。
-r :SET/GET/INCR 使用随机 key, SADD 使用随机值。
-P :通过管道传输<numreq&gt;请求。
-q :强制退出 redis。仅显示 query/sec 值。
--csv :以 CSV 格式输出。
-l :生成循环,永久执行测试。
-t :仅运行逗号分隔测试命令列表。
-I :Idle 模式。仅打开 N 个 idle 连接等待。

#向 IP 地址为 192.168.10.23、端口为 6379 的 Redis 服务器发送 100 个并发连接与 100000 个请求测试性能
redis-benchmark -h 192.168.10.23 -p 6379 -c 100 -n 100000

#测试存取大小为 100 字节数据包性能
redis-benchmark -h 192.168.10.161 -p 6379 -q -d 100

#测试本机上 Redis 服务在进行 set 与 lpush 操作时的性能
redis-benchmark -t set,lpush -n 100000 -q

7、Redis数据库五大类型

String:String是 redis 最基本的类型,最大存储 512MB 的数据,String类型是二进制安全的,即可以存储任何数据、比如数字图片序列化对象等。默认是此数据类型

List:列表元素类型为string,按照插入顺序排序,在列表头部或尾部添加元素

Hash(散列类型):hash用于存储对象。可以采用这样的命名方式(hash格式):对象类别和ID构成键名,使用字段表示对象属性,而字段值则存储属性值。

set:无序集合元素类型为string类型,元素具有唯一性, 不允许存在重复成员多个集合类型之间可以进行并集、交集和差集运算

sorted set:a、有序集合元素类型为Sting元素具有唯一性, 不能重复b每个元素都会关联–个double类型的分数score(表示权重),可以通过权重的大小排序,元素的score可以相同。

8、Redis数据库基础使用

redis-cli
#方法1登录redis数据库
redis-cli -h 主机 -p 6379
#方法2登录redis数据库
#进入redis数据库后默认进入的是 0库,默认redis有16个库,序号是0-15。
select 库序号[0-15]
#切换redis库范围是0-15
move   键名   库序号[0-15]
#将数据迁移到其他库,例如 move   ky26   2;将ky26键移动到2库中
set  键名   键内容
#设置键内容
get   键名
#查看键内容
keys 
#命令查看库中内容,通常结合*和?等选项使用
keys * 
#显示本库中所有键
dbsize
#统计本库中所有键的和输出
keys a* 
#显示本库中所有以a开头的键
keys a? 
#显示本库中以a开头后面只有1个任意字符的键
exists 键名 
#判断键在本库中是否存在,存在则返回1不存在则返回0
del   键名   
#删除本库中的此键
rename  原键名  新键名 
#修改原键名为新间名,若新建名中有内容则直接覆盖提示
renamenx 原键名  新键名
#修改原键名为新键名若新键名存在则此命令执行不成功返回0,不存在更改成功 
type 键名 
#查看此键是什么类型
flushdb
#删除此库中的所有内容
flushall
#删除redis中所有库的内容

9、redis五大类型增删查 

reids数据类型 删除
string set get del
list lpush lrange del
hash hset hget del
set sadd smembers del
sorted set zadd zrank del
String:
set  test 123
#设置string类型的test键值为123
get  test
#查看string类型的test键的值
del test
#删除string类型的test键
List:
lpush  test  0 1 2 3 
#创建list类型的test键值为0 1 2 3 0为第一个元素 1为第二个元素以此类推
lrange  test  1 1 
#查看test键的第一个元素的值
lrange  test  1 2 
#查看test键的第一个元素到第二个元素的值
del  test
#删除list类型的test键
Set:
无序集合,元素类型为string类型,元素具有唯一性, 不允许存在重复成员。多个集合类型之间可以进行并集、交集和差集运算

原文地址:https://blog.csdn.net/weixin_67287151/article/details/129819321

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_21088.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注