Redis相关介绍

流楚丶格念 2021-07-20 04:19:39
redis


缓存数据库:redis 1 为什么需要缓存?
  • 5400转的笔记本硬盘:50-90MB/s
  • 7200转的台式机硬盘:90-190MB/s
  • 固态硬盘读写速度可以达到500MB/s
  • 内存DDRIII1333的速度读写速度大概在8G/s
  • 其他频率的条子速度根据大小会有很大的浮动
2 什么是redis

2.1 redis简介

redis是一个开源的key-value存储系统。与memcached类似,redis将大部分数据存储在内存中。redis支持的数据类型包括:字符串、 哈希表、链表、集合、有序集合以及基于这些数据类型的相关操作。

简单而言,redis基于内存操作,读写速度很快,100000读写/秒,可以作为内存型缓存服
务器,提供持久化存储方案,可以作为结构不复杂的数据库使用。

redis使用C语言开发,在大多数像Linux、BSD和Solaris等 POSIX系统上无需任何外部依赖就可以使用。

redis支持的客户端语言也非常丰富,常用的计算机语言如C、C#、C++、Object-C、PHP、Python、Java、Perl、Lua、Erlang等均有可用的客户端来访问redis服务器。

当前redis的应用已经非常广泛,国内像新浪、淘宝,国外像Flickr、Github等均在使用redis的缓存服务。

2.2 redis优点

redis有三个主要使其有别于其它很多竞争对手的特点:
1)redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的
2)redis相比许多键值数据存储系统有相对丰富的数据类型
3)redis可以将数据复制到任意数量的从服务器中

redis 优点:

  • 异常快速: redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。
  • 支持丰富的数据类型: redis支持最大多数开发人员已经知道如列表、集合、可排序集合、哈希等数据类型。
  • 操作都是原子的:所有 redis 的操作都是原子(所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它是最小的执行单位,不可能有比它更小的执行单位),从而确保当两个客户同时访问 redis 服务器得到的是更新后的值(最新值) 。
  • MultiUtility工具:redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用( redis原生支持发布/订阅) ,在应用程序中,如:Web应用程序会话、网站页面点击数等任何短暂的数据。

2.3 redis使用场景

1)取最新N个数据的操作
比如典型的取你网站的最新文章,我们可以将最新的5000条评论的ID放在redis的List集合中,并将超出集合部分从数据库获取。

2)排行榜应用,取TOP N操作
这个需求与上面需求的不同之处在于,前面操作以时间为权重,这个是以某个条件为权重,比如按顶的次数排序,这时候就需要我们的sorted set出马了,将你要排序的值设置成sorted set的score,将具体的数据设置成相应的value,每次只需要执行一条ZADD命令即可。

3)需要精准设定过期时间的应用
比如你可以把上面说到的sorted set的score值设置成过期时间的时间戳,那么就可以简单地通过过期时间排序,定时清除过期数据了,不仅是清除redis中的过期数据,你完全可以把redis里这个过期时间当成是对数据库中数据的索引,用redis来找出哪些数据需要过期删除,然后再精准地从数据库中删除相应的记录。

4)计数器应用
redis的命令都是原子性的,你可以轻松地利用INCR,DECR命令来构建计数器系统。

5)uniq操作,获取某段时间所有数据排重值
这个使用redis的set数据结构最合适了,只需要不断地将数据往set中扔就行了,set意为集合,所以会自动排重。

6)Pub/Sub构建实时消息系统
redis的Pub/Sub系统可以构建实时的消息系统,比如很多用Pub/Sub构建的实时聊天系统的例子。

7)构建队列系统
使用list可以构建队列系统,使用sorted set甚至可以构建有优先级的队列系统。

8)缓存
最常用,性能优于memcached(被libevent拖慢),数据结构更多样化。

版权声明
本文为[流楚丶格念]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_15265965/2894329

  1. 玩转Redis-生产环境如何导入、导出及删除大量数据
  2. Redis利用管道技术+事务实现数据高效批量处理
  3. 36、利用开源的scrapy-redis编写分布式爬虫代码
  4. Nosql数据库服务之redis
  5. 优雅批量删除redis匹配数据
  6. 1、Redis—介绍及安装
  7. 1. Redis - Introduction and installation
  8. Python进阶学习_连接操作Redis数据库
  9. 深入浅出Redis,这是我见过有史以来最好的Redis实践文档(学习笔记)
  10. 【Redis】redis-3.0.0安装以及集群的搭建
  11. 随想录(redis的学习和使用)
  12. 「进击Redis」二、Linux、Docker下安装与配置
  13. 作为Java程序员连Redis都不会?阿里架构师带你深入“解剖”Redis
  14. Redis专项进阶课 解决Redis工作实际问题+掌握Redis6.x特性
  15. Redis专项进阶课 解决Redis工作实际问题+掌握Redis6.x特性
  16. Linux 安装Redis
  17. redis安装和基础配置
  18. Redis性能篇(三)Redis关键系统配置:如何应对Redis变慢
  19. Redis practice part 1: building redis examples
  20. 二 prometheus 监控 Redis
  21. redis在CentOS7上的安装
  22. k8s redis-cluster 6节点(3主3从)
  23. Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计
  24. 2021最新 Redis面试题精选(附刷题小程序)
  25. 2021最新 Redis面试题精选(附刷题小程序)
  26. 如何判断redis变慢了
  27. Redis 个人使用指南
  28. .Net Core 使用 CSRedisCore 访问 Redis 的哨兵和主从复制
  29. linux 安装 redis
  30. 金三银四如何应对Redis面试,一文深入Redis实战实践!
  31. Redis学习总结(19)——Redis 5种集群方式对比
  32. Redis单机安装(生产环境配置)
  33. [Redis知识体系] 一文全面总结Redis知识体系
  34. [Redis知识体系] 一文全面总结Redis知识体系
  35. 随想录(redis的学习和使用)
  36. 必须玩一下的Redis集群
  37. 必须玩一下的Redis集群
  38. Linux下Redis主从复制以及SSDB主主复制环境部署记录
  39. Deployment of redis service environment in CentOS and its configuration instructions
  40. Redis入门 - Redis概念和基础
  41. Redis入门 - Redis概念和基础
  42. Docker安装redis,并设置持久化详细教程
  43. redis安装和基础使用
  44. redis 基础管理
  45. (三)高并发redis学习笔记:单机版redis安装以及生产环境启动方案
  46. redis搭建集群和主从
  47. 99%的面试会问到的Redis面试题Redis面试必磕
  48. CentOS-yum安装Redis(单点)
  49. centos下redis安全相关
  50. redis面试题
  51. 【Redis数据结构 序】使用redis-py操作Redis数据库
  52. Redis详解(一)冰叔带你了解Redis
  53. CentOS 7 下安装redis步骤
  54. Redis学习笔记(1) Redis介绍及基础
  55. centos安装redis步骤
  56. Docker:使用自定义redis.conf运行redis容器(7)
  57. Redis下载安装及使用教程(一)
  58. redis部署和主从配置
  59. 【运维面试】面试官:你们的redis主要用来做什么?
  60. 利用Redis锁解决高并发问题