最新版本Redis:Redis 7.0 安装使用,编译安装Redis,Redis使用场景-2022年最新Redis图解安装

最新版本Redis:Redis 7.0 安装使用,编译安装Redis,Redis使用场景。

本章主要目标:

1.Redis介绍

2.下载Redis,编译安装Redis

3.启动Redis使用

4.Redis常用数据类型

5.使用场景介绍

下面开始本章内容的学习

1.Redis介绍

Redis 是一个开源的(BSD许可),使用内存来存储数据结构的系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

2.下载Redis,编译安装Redis

Redis源码地址:https://github.com/redis/redis

##下载最新源码​
wget https://github.com/redis/redis/archive/refs/tags/7.0.2.tar.gz
##解压Redis 源码
tar zxvf 7.0.2.tar.gz
##进入目录进行编译
cd redis-7.0.2 && make

3.启动Redis,简单使用

修改配置文件 redis.conf

# no 表示关闭保护模式
protected-mode no
# yes表示以守护进程的方式运行(会占用一个终端) 
daemonize yes

启动Redis命令:./src/redis-server

最新版本Redis:Redis 7.0 安装使用,编译安装Redis,Redis使用场景-2022年最新Redis图解安装_第1张图片

后台启动:nohup ./src/redis-server &

查看redis进程:ps -ef |grep redis

使用redisc-cli 链接,命令:./src/redis-cli

 Redis使用

set name zhangsan​​​​​​

get name 

最新版本Redis:Redis 7.0 安装使用,编译安装Redis,Redis使用场景-2022年最新Redis图解安装_第2张图片

4.Redis常用数据类型

Redis主要有5种数据类型,包括String,List,Set,Zset,Hash,满足大部分的使用要求

数据类型

可以存储的值

操作

应用场景

STRING

字符串、整数或者浮点数

对整个字符串或者字符串的其中一部分执行操作。对整数和浮点数执行自增或者自减操作

做简单的键值对缓存

LIST

列表

从两端压入或者弹出元素。对单个或者多个元素进行修剪,只保留一个范围内的元素

存储一些列表型的数据结构,类似粉丝列表、文章的评论列表之类的数据

SET

无序集合

添加、获取、移除单个元素。检查一个元素是否存在于集合中,计算交集、并集、差集,从集合里面随机获取元素

交集、并集、差集的操作,比如交集,可以把两个人的粉丝列表整一个交集

HASH

包含键值对的无序散列表

添加、获取、移除单个键值对。获取所有键值对,检查某个键是否存在

结构化的数据,比如一个用户对象数据。

ZSET

有序集合

添加、获取、删除元素。根据分值范围或者成员来获取元素,计算一个键的排名

去重但可以排序,如获取排名前几的数据

5.使用场景介绍

1.缓存热点数据

缓存机制几乎在所有的大型网站都有使用,合理地使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力。Redis提供了键值过期时间设置,并且也提供了灵活控制最大内存和内存溢出后的淘汰策略。可以这么说,一个合理的缓存设计能够为一个网站的稳定保驾护航。

热点数据缓存(例如报表、明星出轨),对象缓存、全页缓存、可以提升热点数据的访问数据。

对于热点数据,缓存以后可能读取数十万次,因此,对于热点数据,缓存的价值非常大。例如,分类栏目更新频率不高,但是绝大多数的页面都需要访问这个数据,因此读取频率相当高,可以考虑基于 Redis 实现缓存。

数据共享分布,因为Redis是分布式的独立服务,可以在多个应用之间共享。例如:分布式Session

2.排行榜系统

排行榜系统几乎存在于所有的网站,例如按照热度排名的排行榜,按照发布时间的排行榜,按照各种复杂维度计算出的排行榜,Redis提供了列表和有序集合数据结构,合理地使用这些数据结构可以很方便地构建各种排行榜系统。

3.计数器应用

计数器在网站中的作用至关重要,例如视频网站有播放数、电商网站有浏览数,为了保证数据的实时性,每一次播放和浏览都要做加1的操作,如果并发量很大对于传统关系型数据的性能是一种挑战。Redis天然支持计数功能而且计数的性能也非常好,可以说是计数器系统的重要选择。

4.社交网络

用户关系、关注和粉丝、赞/踩、共同好友/喜好、推送、下拉刷新等是社交网站的必备功能,由于社交网站访问量通常比较大,而且传统的关系型数据不太适合保存这种类型的数据,Redis提供的数据结构可以相对比较容易地实现这些功能。

5.消息队列

Redis 能作为一个很好的消息队列来使用,依赖 List 类型利用 LPUSH 命令将数据添加到链表头部,通过 BRPOP 命令将元素从链表尾部取出。消息队列系统可以说是一个大型项目的必备基础组件,因为其具有异步处理、业务解耦、业务削峰的特性。

Redis提供了发布订阅功能和阻塞队列的功能,虽然和专业的消息队列比还不够足够强大,但是对于一般的消息队列功能基本可以满足。

6.分布式锁

String 类型setnx 方法,只有不存在时才能添加成功,返回true

可以使用Redssion 框架,使用lua脚本,底层使用的hash数据类型进行存储。

你可能感兴趣的:(Redis,分布式微服务,缓存,redis,缓存,数据库)