最新版本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

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

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

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

Redis使用

set name zhangsan​​​​​​

get name

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 7.0 安装使用,编译安装Redis,Redis使用场景-2022年最新Redis图解安装相关推荐

  1. 最新版本Redis:Redis 7.0 安装使用,Docke启动Redis,Redis使用场景-2022年最新Redis图解安装

    最新版本Redis:Redis 7.0 安装使用,Docker安装Redis,Redis使用场景-2022年最新Redis图解安装 Redis 镜像版本地址:Docker Hub #拉取redis 7 ...

  2. windows安装VMware最新版本(VMware Workstation 17.0 Pro)详细教程

    专栏地址:嵌入式开发 专栏文章: [01]windows安装VMware最新版本(VMware Workstation 17.0 Pro)详细教程 [02]VMware17虚拟机安装Ubuntu最新版 ...

  3. 最新版本webrtc源代码在windows上的编译方法

    http://blog.csdn.net/choday/article/details/19978427 分类: webrtc 2014-02-26 14:34 1893人阅读 评论(8) 收藏 举报 ...

  4. MacOS 安装 gstreamer 最新版本(1.20.0)

    近期 gstreamer 退出了最新版本 1.20.0,这个版本支持 MacOS,于是尝试安装.步骤虽然简单,但是仍然有一些需要注意的地方,在这里做一些安装步骤的说明. 下载地址:Download G ...

  5. 64位Ubunu 16.04系统安装最新版本的wine 4.0

    wine的最新版本已经更新到4.0了,那么如何在64位Ubuntu 16.04系统下安装呢?网上不少方法都过时了,下面就整理一个最新的方法,亲测有效! 第一步,64位的系统必须首先使能对32位架构的支 ...

  6. 【转】CentOS 6.6 升级GCC G++ (当前最新版本为v6.1.0) (完整)

    原文地址:https://www.cnblogs.com/lzpong/p/5755678.html 我这里是centos7 升级到gcc8.1,过程差不多,参考这篇文章,记录一下. ---原文--- ...

  7. 简介WAP最新版本:WAP 2.0(转)

    WAP已经冷却了足够长的时间.随着SMS一浪盖住一浪的热潮,大家都在唱着短信的颂歌.但从另一个热点--GPRS的背后,却让我们重新看到了WAP的希望--尤其是随着"GPRS上的WAP&quo ...

  8. 升级 MacOS 到最新版本 macOS Ventura 13.0 后,Parallels Desktop 不可用

    这两天收到了苹果推送的最新版本 macOS 系统,于是手贱升级了一下.然后悲剧发生了,用的好好的 Parallels Desktop 不能用了.老是提示下图,重启了 N 遍也不好使. 没有办法,只能重 ...

  9. 在Windows中安装MinGW-w64最新版本(目前12.1.0)

    在我的上篇文章中,只有 0% 的人点了赞 咋一人没有啊! 所以如果觉得做的还行的话可以给我点个赞.收个藏,这对我真的很重要! emm-找了很多教程, 基本都是从 sourceforge 上下的 8.1 ...

最新文章

  1. Typescript,Vue you enjoy it ?
  2. oracle数据库中insert,【Oracle】sql插入之 insert all、insert first
  3. RxJava中BehaviorSubject适合的使用场景
  4. [html] 写一个滚动吸顶的布局
  5. oracle 的基本命令(一)
  6. eclipse项目导入到AndroidStudioc报错
  7. pandas string funcs
  8. sql2008表支持多少列_数据库表分区是怎么回事?
  9. Cordova的安装及环境配置
  10. 实用教程:使用Netflow分析网络异常流量
  11. css3中3d旋转中rotatex,rotatey,rotatez的旋转正方向
  12. 【网络安全】单选/多选/判断/填空题
  13. 2022年陕西中级审计师考试练习题及答案
  14. 网页开发(三)——实现网页前端和数据库的数据交换
  15. 如何配置log4j每天产生日志,并且当天日志大于10M时自动生成另一个文件
  16. Java元组Tuple使用实例
  17. 本地服务器模板网站怎么安装,使用dedecms搭建自己的本地网站(全程图解)
  18. 如何优雅地测量一只猫的体积,而不使其感到惊恐或受到伤害?
  19. 基于博弈思想的攻击图漏洞修复策略
  20. 记录微信获取平台证书支付错误 错误的签名,验签失败

热门文章

  1. 如何使用手机访问电脑上的视频
  2. PowerDesigner连接Oracle数据库生成E-R图
  3. SQL集合函数中case when then 使用技巧
  4. Vue知识点整理(一)基础知识
  5. php数组转get字符串,php数组转字符串
  6. Android【帧动画】
  7. Python奥特曼打怪兽射击游戏,基于海龟画图创作的作品
  8. pinpoint踩坑记录
  9. 华为鸿蒙灭屏,华为对EMUI10.1.0.126版本开启公测,彩色息屏显示终于来了
  10. 简单工厂模式(思维导图)