欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > Redis01

Redis01

2025/6/23 20:06:38 来源:https://blog.csdn.net/Rancemy/article/details/148747256  浏览:    关键词:Redis01

了解Redis

一、存储数据

java:声明变量、数组、集合(jvm的内存中,临时有效)
本地磁盘: 文件(java以 io流操作) 本地磁盘中存储 可以实现持久化
数据库:
sql 关系型数据库(sql语言 ddl、dml、dcl、dql) 库--->表---->行---->列
nosql 非关系型数据库(not only sql)
key---value键值对
key(String类型) value(数据库不同,value类型不同)
泛指非关系型的数据库,作为关系型数据库的补充。

二、redis 属于NOSQL的一种

  • Redis:Remote Dictionary Server(远程字典服务器)

  • 是完全开源免费的,用C语言编写的,遵守BSD协议,key-value数据库,内存数据库,NoSql数据库,缓存数据库。

  • 是一个高性能的(key/value)分布式内存数据库,基于内存运行,(高性能:官方提供测试数据,50个并发执行100000 个请求,读的速度是110000次/s,写的速度是81000次/s)。

  • 实际工作中用redis进行缓存数据实现

  • 并支持持久化NoSQL数据到磁盘,是当前最热门的NoSql数据库之一,一般用来处理并发高的数据操作。

在内存空间中存储数据(存取效率极高)

适合小批量数据的存储(运行内存)

适合频繁访问的,不经常更新的数据存储

三、 redis能干什么

  • 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务

  • 模拟类似于HttpSession这种需要设定过期时间的功能

  • 发布、订阅消息系统

  • 定时器、计数器

  • 分布式锁

四、搭建redis环境

windows平台:

linux平台

下载镜像

docker pull redis:7.0.2

简单启动容器
docker run -id -p 6379:6379 --name redis7  redis:7.0.2  
进入到redis中,了解redis配置信息
设置共享目录和配置文件后启动容器
[root@hcss-ecs-b839 data]# ls /opt/redis/
redis.conf
[root@hcss-ecs-b839 data]# cat /opt/redis/redis.conf
requirepass 123456
[root@hcss-ecs-b839 data]# pwd
/usr/local/docker/data
[root@hcss-ecs-b839 data]# ls
 
docker run -id -p 6379:6379 --name redis7.2 -v  /opt/redis/redis.conf:/usr/local/bin/redis.conf -v  /usr/local/docker/data:/data  redis:7.0.2  redis-server /usr/local/bin/redis.conf

修改配置文件后,重启容器

docker restart redis7.2

客户端远程连接

cmd窗口中,切到redis-cli所在目录
​
redis-cli -h ip -p 端口号  
keys *  提醒你,需要认证
​
auth 123456  输入密码认证

五、了解redis的结构

  • Redis现在支持十种数据类型:string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合),stream(流),geospatial(地理),bitmap(位图),bitfield(位域),hyperloglog(基数统计)

  • Redis常用五种数据类型:string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)(掌握

  • redis服务有16个数据库,dbid 0-15

  • 默认进入到第一个库,dbid为0的数据库

  • select [dbid] 可以进行数据库的切换

5.1. 对key的学习(掌握的)

  • keys * 把当前库中的所有的key 列出来

  • set k1 v1 保存key-value形式的数据,如果k1已经存在 新值覆盖旧值

  • del k1 删除键值是 k1的

  • EXISTS k1 判断键值为k1是否存在, 存在返回1, 不存在返回0

  • ttl k1 返回k1的过期时间, -1代表永久有效, -2代表已经过期了 ,如果过期,那么就自动清除

  • expire k2 20 给已经存在的k2设定有效期是20秒,单位秒

  • MOVE k1 1 把k1移到第2个数据库中

  • PERSIST k1 把已经存在设置了过期时间的k1设置为永久有效

重点题

1、redis的作用和使用场景
  • 作用:内存型键值数据库,支持数据持久化,提供高性能读写与丰富数据结构。

  • 内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务

  • 模拟类似于HttpSession这种需要设定过期时间的功能

  • 发布、订阅消息系统

  • 定时器、计数器

  • 分布式锁

2、redis支持的数据类型有哪些?
类型描述示例场景
String文本/二进制数据缓存HTML片段、计数器
Hash键值对集合存储用户信息(字段:name, age)
List双向链表消息队列、最新消息列表
Set无序唯一集合共同好友、标签系统
Zset有序集合排行榜、延迟任务
Stream消息流日志收集、事件溯源
BitMap位图用户签到统计
HyperLogLog基数估算独立IP统计
GEO地理位置附近的人、位置搜索
3、redis针对key常见的通用命令有哪些?
keys *         把当前库中的所有的key 列出来
set k1 v1      保存key-value形式的数据,如果k1已经存在 新值覆盖旧值
del k1         删除键值是 k1的
EXISTS k1      判断键值为k1是否存在, 存在返回1, 不存在返回0
ttl k1         返回k1的过期时间, -1代表永久有效,  -2代表已经过期了 ,如果过期,那么就自动清除
expire  k2 20  给已经存在的k2设定有效期是20秒,单位秒
MOVE k1 2      把k1移到第2个数据库中
PERSIST  k1    把已经存在设置了过期时间的k1设置为永久有效
select 1       切换库
4、描述docker搭建nginx的基本步骤
docker pull nginx:1.25.0
​
docker run -id -p 80:80 --name nginx2 nginx:1.25.0
5、描述docker搭建mysql的基本步骤
docker pull mysql:8.0.30
​
docker run -id -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456qwe --name mysql8 mysql:8.0.30
6、描述docker搭建redis的基本步骤

拉取镜像:docker pull redis:7.0.2

启动容器:docker run -id -p 6379:6379 --name redis7 redis:7.0.2

设置共享目录和配置文件后启动容器

[root@hcss-ecs-b839 data]# ls /opt/redis/
redis.conf
[root@hcss-ecs-b839 data]# vi /opt/redis/redis.conf
[root@hcss-ecs-b839 data]# cat /opt/redis/redis.conf
requirepass 123456   #在redis.conf中写入的内容,用来设置密码
[root@hcss-ecs-b839 data]# pwd
/usr/local/docker/data
[root@hcss-ecs-b839 data]# ls
docker run -id -p 6379:6379 --name redis7.2 -v /opt/redis/redis.conf:/usr/local/bin/redis.conf -v  /usr/local/docker/data:/data  redis:7.0.2  redis-server /usr/local/bin/redis.conf

修改配置文件后,重启容器

docker restart redis7.2

客户端远程连接

cmd窗口中,切到redis-cli所在目录
​
redis-cli -h ip -p 端口号  
keys *  提醒你,需要认证
​
auth 123456  输入密码认证
7、docker针对容器、镜像常见的各种命令有哪些?

与镜像相关:

docker images  查看本地镜像
docker pull 镜像名:版本号    拉取镜像
docker rmi 镜像名:版本号|镜像id   删除镜像

与容器相关的:

1、创建并启动容器
docker run -id -p 8080:8080 -v /webapps:/usr/local/tomcat/webapps --name 容器名称  tomcat:9.0.10
2、查看本地所有相关容器(包含停止的容器)
docker ps -a
3、查看当前正在运行的容器
docker ps
4、查看容器运行日志
docker logs  -f  -t  --tail n  容器ID    查看容器日志 (--tail 数字 显示最后多少条)
5、进入到容器内部
docker exec -it 容器id|名称 /bin/bash
6、停止容器
docker kill 容器名|容器id
7、删除容器
docker rm 容器名|容器id

数据卷:共享数据(宿主机和容器之间数据共享)

-v /webapps:/usr/local/tomcat/webapps   宿主机目录:容器内部目录

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词