我的编程空间,编程开发者的网络收藏夹
学习永远不晚

初识Redis

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

初识Redis

初识Redis

初识Redis

NoSQL是什么?

数据库: 用来存储数据的仓库

NoSQL: 不仅仅是SQL,是许多非关系型数据库的统称,但本质上还是存储数据的仓库

为什么需要NoSQL?

  1. 解决了高并发的读写问题
  2. 解决了海量数据的高效率存储和访问问题
  3. 实现了高可用性及高可扩展性

Redis是什么?

是由C语言开发的一款开源的、高性能的键值对存储数据库。

它支持多种键值数据类型。包括字符串、列表、集合、散列、有序集合等。它内置复制、Lua脚本、LRU收回、事务及不同级别磁盘持久化功能,同时通过Redis Sentinel实现高可用,Redis Cluster提供自动分区等相关功能。

Redis的特性

  1. 支持多种语言。c、java、c++等
  2. 丰富的数据类型
  3. 多种数据结构,如哈希、集合、位图(多用于活跃用户数等统计)、HyperLogLog(超小内存唯一值计数,由于只有12kb,因而有误差)、GEO(地理位置信息)
  4. 读写速度快,性能高。官方给出的数据是:Redis 能读的速度是 110 000 次/s,写的速度是 81 000 次/s。之所以有这么快的读/写速度,是因为这些数据都存储在内存中。
  5. 支持持久化。Redis 的持久化也就是备份数据,它每隔一段时间就将内存中的数据保存在磁盘中,在重启的时候会再次加载到内存中,从而实现数据持久化。Redis 的持久化方式是 RDB 和 AOF。
  6. 简单且功能强大。如利用 Redis 可以实现消息订阅发布、Lua 脚本、数据库事务、Pipeline(管道,即当指令达到一定数量后,客户端才会执行)。同时 Redis 是单线程的,它不依赖外部库,它的所有操作都是原子性的,使用简单。
  7. 实现高可用主从复制,主节点做数据副本。
  8. 实现分布式集群和高可用。Redis Cluster 支持分布式,进而可以实现分布式集群;Redis Sentinel 支持高可用。

Redis的使用场景

  1. 做缓存。这是 Redis 使用最多的场景。Redis 能够替代 Memcached。比如,实现数据查询、缓存新闻消息内容、缓存商品内容或购物车等。
  2. 做计数器应用。Redis 的命令具有原子性,它提供了 INCR、DECR、GETSET、INCRBY 等相关命令来构建计数器系统。可以使用 Redis 来记录一个热门帖子的转发数、评论数。通过 Redis 的原子递增,可以实现在任何时候封锁一个 IP 地址等。
  3. 实现消息队列系统。Redis 运行稳定,速度快,支持模式匹配,也可以实现消息订阅发布。Redis 还有阻塞队列的命令,能够让一个程序在执行时被另一个程序添加到队列中。比如,实现秒杀、抢购等。
  4. 做实时系统、消息系统。可以利用 Redis 的 set 功能做实时系统,来查看某个用户是否进行了某项操作,对其行为进行统计对比。也可以利用 Redis 的 Pub/Sub 构建消息系统,如在线聊天系统。
  5. 现排行榜应用。排行榜的实现利用了 Redis 的有序集合。比如,对上百万个用户的排名,采用其他数据库来实现是非常困难的,而利用 Redis 的 ZADD、ZREVRANGE、ZRANK 等命令可以轻松实现排名并获取排名的用户。
  6. 做数据过期处理。我们可以将 sorted set 的 score 值设置成过期时间的时间戳,然后通过过期时间排序,找出过期的数据进行删除。可以采用过期属性来确认一个关键字在什么时候应该被删除。也可以利用 UNIX 时间作为关键字,将列表按时间排序。对 currenttime 和 timeto_live 进行检索,查询出过期的数据,进而删除。
  7. 布式集群架构中的 session 分离。采用分布式集群部署,可以满足一个 Web 应用系统被大规模访问的需要。而要实现分布式集群部署,就要解决 session 统一的问题。通常可以采用 Redis 来实现 session 共享机制,以达到 session 统一的目的。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

初识Redis

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

redis初识

redis介绍redis是什么redis是一种基于键值对的NOsql数据库,与很多键值对数据库不同,redis中的值string,hash,list,set,zset,geo等多种数据机构和算法组成,因为redis会将所有的数据都放在内存中,所以他的读写性能非
redis初识
2015-08-13

初识Redis

初识RedisNoSQL是什么?数据库: 用来存储数据的仓库NoSQL: 不仅仅是SQL,是许多非关系型数据库的统称,但本质上还是存储数据的仓库为什么需要NoSQL?解决了高并发的读写问题解决了海量数据的高效率存储和访问问题实现了高可用性及高可扩展性Redis
初识Redis
2019-03-22

初识urllib

使用urllibrequest: 是最基本的 HTTP 请求模块,可以用来模拟发送请求,只需要给库方法传入URL以及额外的参数,就可以模拟实现这个过程了。error: 异常处理模块,如果出现请求错误, 可以捕获这些异常,然后进行重试或其它操
2023-01-30

初识Linux_3

1,find 目录 条件 [处理命令]-默认是print操作2,find d6 -name "*cpp" -exec rm{} ";"(或者‘;’或者/;都是Ok的),这条命令的含义是找到d6文件夹中所有以.cpp结尾的文件然后将其进行删除
2023-01-31

初识Tornado

引言回想Django的部署方式以Django为代表的python web应用部署时采用wsgi协议与服务器对接(被服务器托管),而这类服务器通常都是基于多线程的,也就是说每一个网络请求服务器都会有一个对应的线程来用web应用(如Django
2023-01-31

html初识

web标准web准备介绍:w3c:万维网联盟组织,用来制定web标准的机构(组织)web标准:制作网页遵循的规范web准备规范的分类:结构标准、表现标准、行为标准。结构:html。表示:css。行为:Javascript。web准备总结:结
2023-01-30

初识 Python

1.源码安装 ipython 1.2.1[root@Client-1]# tar -xf ipython 1.2.1.tar.gz[root@Client-1]cd ipython 1.2.1[root@Client-1 ipython-1
2023-01-31
2023-10-24
2024-04-02

初识Python

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。  Python是纯粹的自由软件,源代码和解释器CPython遵循GPL(GNU Genera
2023-01-31
2023-09-01

初识Node.js

1、Node.js是什么 [1]Node是一个服务器端 JavaScript 解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅。 [2]Node的目标是帮助程序
2022-06-04

初识Android.bp

初识Android.bp前言最近在捣鼓Android 9 和10的build系统,看到一篇比较好的博客,大名鼎鼎的gityuan的,奉上链接理解Android.bp,为了方便学习和更多的人看到,特意重新编辑以发扬光大使更多人看到。一.简介
2022-06-06

初识P3P

Google 标签: P3P, 第三方cookie, 隐私策略, http headP3P主要应用于网站跨域访问方面,全称为隐私偏好设定平台(platform for privacy preference, P3P)。而谈到P3P就不得不提
2023-01-31

初识django

HTTP协议  超文本传输协议四大特性:  1.基于TCP/IP作用在应用层上的协议  2.基于请求响应  3.无连接  4.无状态数据格式之请求  请求首行  请求头(一堆k,v键值对)  /r/n  请求体数据格式值响应  响应首行  
2023-01-31

初识Flask

Flask简介      Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。默认情况下,Flask 不包含数据库抽象层
2023-01-31

Python初识

1.python介绍 python是一门先编译后解释的语言 动态脚本语言 PyCodeObject和pyc文件pyCodeObject是python编译器真正的编译成的结果。当python程序运行时,编译的结果是保存在位于内存中的PyCod
2023-01-31

初始 redis

官方定义: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开
初始 redis
2016-06-01
2024-04-02

编程热搜

目录