# 本节要点 - 认识什么是Redis - 为什么要用Redis - 理解非结构化数据 - window和linux下Redis安装和配置 # 一、什么是Redis https://redis.io/ 内存的一个数据库 所有的IO都是需要消耗时间的! !\[image-20260130095358889\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/daiwei/java/20260130095359006.png) !\[image-20251011221939828\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/java/daiwei/20251011221939908.png) 就是一个数据库 Key - Value - 基于内存访问的数据库 - 非机构化,NoSql - 支持多种数据结构(string ,hash,list,set,zset,graph,空间数据,ai向量...) \*\*一句话:Redis是一个基于内存、支持持久化的键值(KV)数据库,它提供多种数据结构,并广泛用于缓存、消息队列等场景。\*\* # 二、为什么要用redis - 数据库连接资源很宝贵,不让大量的查询请求打在数据库上 - 内存访问速度快 - 提供了多种数据结构,直接使用;主要有五大类 String 、Hash、List、Set、ZSet - 分布式系统,分布式锁 # 三、和传统数据库的区别 \| \| SQL \| NoSQL \| \| -------- \| ------------------------ \| ---------------------------- \| \| 数据结构 \| 结构化 \| 非结构化 (json) \| \| 数据关系 \| 强关联性 \| 非强关联 \| \| 查询方式 \| SQL \| 非sql \| \| 事务 \| ACID \| BASE \| \| 使用场景 \| 数据结构固定,数据安全高 \| 数据结构不固定,对性能要求高 \| # !\[image-20251205093846843\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/daiwei/java/20251205093846929.png) # 四、使用场景(重点) 1、因为redis是内存范围读,速度非常快;并且可以持久化;非结构化存储方式;\*\*在高并发的时候,不让大量的请求直接打在数据库上,避免数据库宕机。\*\* 2、redis可以有分布式锁,在高并发、高可用、高性能的数据安全和一致性。 3、redis里有很多的数据结构,可以直接使用 # 五、redis安装 下面分别是在windows和linux的两种操作系统上安装 - window https://github.com/redis-windows/redis-windows/releases !\[image-20251012114342237\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/java/daiwei/20251012114349418.png) - 配置文件redis.conf !\[\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/java/daiwei/20251012114454609.png) !\[image-20251012114829275\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/java/daiwei/20251012114829352.png) - 开启所有ip都可以连接 \`\`\` bind 127.0.0.1 -::1 改为 bind 0.0.0.0 \`\`\` - 数据库配置 !\[image-20251014102250177\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/daiwei/java/20251014102250223.png) - 端口 !\[image-20251014102353168\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/daiwei/java/20251014102353205.png) - 开启后台启动 !\[image-20251012114952730\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/java/daiwei/20251012114952800.png) - 添加密码 !\[image-20251012115249487\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/java/daiwei/20251012115249585.png) - 启动 \`\`\` redis-server.exe redis.conf \`\`\` !\[image-20251012115913553\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/java/daiwei/20251012115913689.png) 测试连接 \`\`\` redis-cli.exe -h localhost -p 6379 -a 123456 //-h 代表的主机地址 -p代表的是端口 -a 代表的是密码 auth \`\`\` !\[image-20260130102225798\](C:\\Users\\daiwei\\AppData\\Roaming\\Typora\\typora-user-images\\image-20260130102225798.png) - linux https://download.redis.io/releases/下载 !\[image-20251204163833477\](https://woniumd.oss-cn-hangzhou.aliyuncs.com/daiwei/java/20251204163833548.png) 解压 \`\`\` tar -xzvf redis-6.2.20.tar.gz \`\`\` 进入redis目录编译,主要目的生成可以执行的启动文件 \`\`\` make \`\`\` \*\*如果报错需要安装gcc\*\* \`\`\` yum install -y gcc-c++ jemalloc-devel //安装gcc编译,因为是源代码安装,没有可以执行的文件,必须编译;而编译需要用到gcc \`\`\` \`\`\` make distclean //清除编译错误的残留文件 make //重新编译 \`\`\` 修改配置redis.conf \`\`\` bind 0.0.0.0 port 6379 daemonize yes #代表是否后台启动,如果是yes,控制台就没有日志,会把日志打印到文件里 databases 16 requirepass 123456woniu \`\`\` 启动 \`\`\` ./redis-server ../redis.conf \`\`\` 连接 \`\`\` ./redis-cli -h localhost -p 6379 -a 密码 \`\`\` 看看是否zhengchang \`\`\` ping //会返回pong \`\`\` 查看一下服务器情况 \`\`\` Info server \`\`\`
06-3阶内容-1.5.2-redis介绍
https://xiaochenblog.icu/archives/06-3jie-nei-rong-1.5.2-redisjie-shao
评论