🎉🎉欢迎来到我的CSDN主页!🎉🎉
🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚
🌟推荐给大家我的博客专栏《LInux实战开发》。🎯🎯
🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁
💖期待你的加入,一起学习,一起进步!💖💖
前言
今天与大家分享一个新的知识点,它就是Redis,它和我们之前学的数据库有些类似,但又有些不同。他和数据库一样是用来存储数据的。让我们一起去来探索关于它的奥秘吧。
一、Redis简介
1. 基本概述
Redis是一个使用C语言编写的开源的key-value存储系统,它可以用作数据库、缓存和消息中间件等场景。与MySQL等使用二维表格形式存储数据的数据库不同,Redis使用key-value的形式存储数据。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
安装包:
redis-5.0.0.tar.gz(linux)
Redis-x64-3.2.100.msi(window安装版)
Redis-x64-3.2.100.zip(window解压版)
2. 基本用途
Redis的用途比较广泛,基本用途如下:
- 缓存:这是Redis最广为人知的使用场景。通过使用Redis作为缓存,可以提高应用的性能和响应速度。
- 数据库:Redis可以作为数据库,存储和管理数据。由于其高性能和原子性操作,Redis在需要高并发访问的数据存储场景中表现出色。
- 消息队列:Redis可以作为简单的消息队列使用,实现异步任务和消息推送。这有助于解耦和优化应用程序的处理流程。
- 会话共享:在集群模式下,Redis可以用于保存和共享会话信息,确保用户在任何一台服务器上登录时,都能获取到对应的会话信息。
- 排行榜:Redis支持对集合进行操作,这使得它可以用来实现排行榜功能。
- 计数器:Redis的计数器功能可以帮助我们统计文章被点赞、评论的次数等。
- 分布式锁:Redis的setnx命令可以用于实现分布式锁。
- 分布式协同过滤:Redis的分布式协同过滤算法可以用于推荐系统、防止恶意请求等。
这就是Redis的一些基本的用途,但是具体的使用用途要根据使用的场景来决定。
3. 应用场景
应用场景 | 说明 |
缓存热点数据 | 例如报表和明星出轨等,通过使用Redis进行缓存,可以提升热点数据的访问速度。 |
数据共享分布式 | Redis是分布式的独立服务,可以在多个应用之间共享数据,例如分布式Session。 |
计数器 | 例如统计文章被点赞、评论的次数等。 |
会话共享 | 在集群模式下,Redis可以用于保存和共享会话信息,确保用户在任何一台服务器上登录时,都能获取到对应的会话信息。 |
排行榜 | Redis支持对集合进行操作,这使得它可以用来实现排行榜功能。 |
分布式锁 | Redis的setnx命令可以用于实现分布式锁。 |
分布式协同过滤 | Redis的分布式协同过滤算法可以用于推荐系统、防止恶意请求等。 |
二、安装Redis
1.安装客户端
点击安装包,傻瓜式一键下一步点击到底即可
2. Linux系统
1.1 导入安装包
将安装包导入到我们要安装的目录下
1.2 解压安装包
输入指令解压安装包
指令:tar -xvf redis-5.0.0.tar.g
1.3 准备配置Redis
进入解压好的文件夹目录下(redis-5.0.0)下输入make指令进行安装redis实际上是编译redis;然后我们检查安装环境输入指令:make install回车即可;在此我们还要安装一个gcc插件,方便后续使用,指令:yum install gcc。
编译redis
检查安装情况
安装gcc
1.4 启动Redis
输入指令: ./src/redis-server redis.conf 进行启动
1.5 配置Redis相关文件
修改redis.conf文件
将文件中的daemonize no修改为daemonize yes
按住ctrl+c退出启动,先将文件进行备份一下输入指令:cp redis.conf redis_bak.conf 即可,输入vim redis.conf 进入文件并进行编辑,输入"/" 然后"关键字" 再enter;"n"指找下一个;查找到指定位置按i进行编辑,最后:wq进行保存并退出
验证
编辑好之后重新启动redis,然后输入 lsof -i:6379进行查看redis端口是否在使用,然后进行连接,输入指令:./src/redis-cli回车,在输入ping回车,出现PONG代表Redis安装完成。
在执行上述操作前先要输入 yum install -y lsof安装lsof插件。
1.6 配置端口主机访问
先将开启的进行端口停止掉输入指令:kill -9 进程pid,再次查看你端口状态看看是否关闭,没有显示说明关闭成功。在redis.conf中放开本地端口,然后去设置redis密码,最后再防火墙开发一个6379端口号提供给祖籍访问
停止进程
配置端口及设置密码
开发端口主机访问
指令:
- firewall-cmd --zone=public --add-port=6379/tcp --permanent ---->打开端口
- firewall-cmd --reload && firewall-cmd --list-port --->刷新状态并查看信息
开设之后,再去启动我们的服务。
开启服务,重新使用我们设置的密码登陆开启
指令:#4.客户端redis-cli链接redis,重新测试
./src/redis-cli -h 端口号-p 接口-a 密码
主机客户端连接
3. Windos系统
首先将安装压缩包进行解压,然后编写一个.bat文件放到解压目录下,点击该文件运行即可安装,设置密码及端口与Linux系统一致,在redis.windows.conf文件中修改
redis.bat
cd Redis-x64-3.2.100
redis-server redis.windows.conf
运行后的结果
设置端口及密码
三、Redis常用命令
select +数字 ---->代表着使用的是第几个数据库
1.Redis字符串(String)
1.1 添加数据
语法:
set 变量名 值
客户端查看数据
1.2 根据变量获取值
语法:
get 变量名
1.3 查看数据类型
语法:
type变量名
1.4 查看所有key或指定的key
语法:
keys * --->所有
keys 指定的key --定的key
1.5 其他的语句
# SETEX KEY_NAME TIMEOUT VALUE // 给键值对设置过期时间
# ttl key // 获取键值对剩余的存活时间
2.Redis哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
2.1 添加值
hset key field1 value1 [field2 value2] #同时将多个field-value设置到哈希表key中
hset user name zs age 12 sex nv -->案例
2.2 获取指定的值
hget key field ----> #获取指定的字段值
2.3 删除指定的字段值
hdel user age ------>#删除指定的字段值
2.4 其他语法
hgetall key #查询指定key的所有
hexists key field #查询指定key中的字段是否存在
hlen key #获取指定key中的长度
3. Redis列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
3.1 添加数据
lpush key value1 value2 value3 #将一个或多个值插入到列表头部
案例:lpush en a b c d e f g
3.2 获取数据
lindex key index #根据索引获取列表中的元素
案例:lindex en 1 注:#返回f,说明下标从0开始,同时先进后出
lrange key start sop #查看指定范围内的元素
案例:lrange en 1 3 注:#返回fed,说明下标从0开始,同时先进后出
3.3 其他语法
llen key #获取列表的长度
4. Redis集合(Set)
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
语法如下(大家自行演示)
# sadd key value1 [value2] #向集合添加一个或多个元素
# scard key #获取集合中的元素数量
# exists key #是否存在
今天的分享到此结束,记得关注加三连哦