1、最大redis用户,新浪微博,实时浏览人数统计就是依靠redis,两种使用场景:(1)应用程序直接访问redis(2)在访问redis失效的情况下访问mysql
2、有几下几种形式:
(1)数值、字符串
(2)列表list
(3)集合sets
(4)有序集合sorted sets
(5)哈希表hashes
3、持久化实现方式:使用截图的方式,将内存中的数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。前者性能较高,但会一定程度造成数据丢失。
4、读取依靠主从同步来提高效率,所以读写之前性能差距大
5、适用场景
(1)取最新的5000个数据
(2)排行榜取top n操作(利用sorted sets)
(3)需要精准设定过期时间的应用
(4)计算器运用(利用INCR、DECR)
(5)uniq操作(使用set数据结构)
(6)实时系统,反垃圾系统
(7)构建队列系统(使用list,或者适用sorted set构建具有优先级的对列系统)
(8)pub/sub构建实时的消息系统
(9)缓存
6、Redis是一个操作数据结构的语言工具,它提供基于TCP的协议以操作丰富的数据结构
7、redis高级特性
(1)安全性,在redis.conf里配置requirepass
(2)主从复制
(3)事务控制
(4)持久化机制(redis支持两种持久化方式,一种是Snapshotting(快照)也是默认方式,另一种是Append-onlyfile(缩写aof)的方式。)
(5)发布及订阅消息
(6)pipeline批量发送
(7)虚拟内存
8、Redis实现分布式队列浅析
使用redis列表类型保存数据,队列采用左进右出的模式保证队列消息的顺序性。

使用Python操作redis数据

import redis

r= redis.Redis(host='localhost', port=6379, db=0)
r.set('user', 'ioiogoo')
r.get('user')
r.lpush('queue:1', 'task1')
r.brpop('queue:1', 3)

9、Redis主从复制问题和扩容问题的解决思路
一、解决主从复制问题
采用AOF方式达到增量同步
二、解决扩容问题
预算设定Redis instances数量,假设实例数量n,n = 机器数*单台机器redis实例数
后期扩展只需要将旧机器上的部分redis实例迁移到新的机器上,达到平滑扩容。
迁移步骤如下:

在新的机器上创建实例,并且每个实例设置为被迁移实例的从机。
主从复制完成之后,设置程序将新的实例作为主。
停止旧的实例
经过如上步骤之后,旧机器的内存就变大了,最后内存最大为每台机器一个Redis实例。

按作者文章中所说的,一个机器启动多个实例,其实并不会耗费太多资源,因为Redis够轻量,另外多个实例一个接一个的重写AOF文件或者生成内存快照,可以降低内存的占用,而不影响对外的服务。
10、Redis的使用模式之计数器模式实例
使用 Hash 数据类型维护大量计数器

有时候需要维护大量计数器,比如每一个论坛主题的查看数,比如每一个用户访问页面次数,因为论坛主题和用户基数可能很大,直接基于论坛主题或用户 ID 生成计数器的话,占用 Redis 资源还是相当可观的,这时可以用 Hash 数据类型压缩所需资源。
11、Redis实现唯一计数的3种方法分享
(1)基于 set 的方法简单有效,计数精确,适用面广,易于理解,它的缺点是消耗资源比较大(当然比起关系数据库是少很多的),如果元素个数很大(比如上亿的计数),消耗内存很恐怖。
(2)基于 bit 的方法比起 set 空间消耗小得多,但是它要求元素能否简单映射为位偏移,适用面窄了不少,另外它消耗的空间取决于最大偏移量,和计数值无关,如果最大偏移量很大,消耗内存也相当可观。
(3)实现超大数据量精确的唯一计数都是比较困难的,但是如果只是近似的话,计算科学里有很多高效的算法,其中 HyperLogLog Counting 就是其中非常著名的算法,它可以仅仅使用 12 k左右的内存,实现上亿的唯一计数,而且误差控制在百分之一左右
12、Redis中主键失效的原理及实现机制剖析
http://www.jb51.net/article/68254.htm

redis全面讲解使用场景相关推荐

  1. Redis数据结构Hash应用场景-存储商品、购物车、淘宝短链接、分布式Session、用户注册、发微博功能

    Hash应用场景 Hash Hash应用场景 redis存储java对象常用String,那为什么还要用hash来存储? SpringBoot+redis+hash存储商品数据 短链接 场景1:淘宝短 ...

  2. Redis数据库的应用场景介绍

    https://www.jb51.net/article/68262.htm 一.MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载 ...

  3. SpringBoot2.x整合redis实战讲解

    SpringBoot2.x整合redis实战讲解 简介:使用springboot-starter整合reids实战 1.官网:https://docs.spring.io/spring-boot/do ...

  4. redis常用数据类型的场景,你真的用对了么?

    关注微信公众号"虾米聊吧",每天更新一篇技术文章,文章内容涵盖架构师成长必经之路应掌握的技术,一起学习,一起交流. redis常用数据类型的场景,你真的用对了么? redis常用数 ...

  5. Redis 几种应用场景

    Redis 几种应用场景 字符串缓存 <?php$redis = new Redis();$redis->connect('127.0.0.1',6379);$strKey = 'test ...

  6. PHP 操作redis 详细讲解

    2019独角兽企业重金招聘Python工程师标准>>> Redis 菜鸟教程学习网址 http://www.runoob.com/redis/redis-install.html 挺 ...

  7. 【高级开发进阶】Redis五大数据结构应用场景落地

    Redis缓存数据结构,数据同步问题(双删策略),缓存雪崩,缓存穿透,热点缓存重构,缓存失效,哨兵机制,持久化,redis 淘汰机制 熟悉掌握Redis数据结构的使用场景,熟悉Redis缓存高并发的使 ...

  8. 简述redis特点及其应用场景

    简述redis特点及其应用场景 1.Redis 特性 1.1.单线程(处理客户端请求) 2.redis 典型应用场景 1.Redis 特性 速度快: 10W QPS,基于内存,C语言实现 单线程(目前 ...

  9. Redis和Mongodb应用场景

    Redis和Mongodb应用场景 原文: Redis和MongoDB的区别以及应用场景 现在的分布式项目基本都会用到redis和mongodb,可是redis和mongdb到底有什么不同呢,今天我就 ...

最新文章

  1. 避免图像去雾算法中让天空部分出现过增强的一种简易方法
  2. 捷易拍sdk开发指南.doc_每个Android开发都必须知道的利器
  3. windows分区给linux根目录,解决双系统安装Linux之后找不到Windows分区
  4. tomcat启动卡住
  5. 案例 员工演奏乐器 c# 1614191419
  6. 前端:常用单词(JS,CSS,HTML)
  7. (TOJ1224)数据结构练习题——后序遍历二叉树
  8. C语言程序设计(第三版)何钦铭著 习题3-2
  9. vb.net 教程 2-11 错误处理
  10. JMeter proxy server
  11. 火星南极有水,会有生命吗?
  12. JavaScript实现逆波兰式
  13. 刚破了潘金莲的身份信息(图片文字识别),win7、win10实测可用(免费下载)
  14. 怎么把音乐中的伴奏提取出来?这几个方法值得尝试一番
  15. 设置py文件在pycharm里的工作环境/路径
  16. 使用planttml 画流程图
  17. styleSheets
  18. ambari 修改服务器名,ambari - Ambari无法运行用于修改用户配置单元的自定义钩子 - 堆栈内存溢出...
  19. Educoder/头歌JAVA——jQuery动画
  20. 16各种设计LOGO标准尺寸

热门文章

  1. 什么是opt文件,plg,ncb等
  2. 阿里云-视频点播服务API调用
  3. 【今日CV 计算机视觉论文速览 第122期】Fri, 31 May 2019
  4. Spring AOP 学习总结
  5. Laravel版本更新异常4.2.8- 4.2.9 Declaration of ... CompilerEngine ... should be compa
  6. muti-thread fork
  7. 华为机试题 2014
  8. Chrome插件安装办法【手机端】
  9. Chrome插件安装办法【PC端】
  10. 团队协作工具调研笔记