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. 邵阳一中2021高考成绩查询入口,邵阳高考成绩查询系统
  2. 电影网网站优化-SEO篇
  3. html5游戏暂停按钮,HTML5 圆形进度控制(播放、暂停)按钮
  4. Cortex-M3基本知识点(手册)
  5. 如何用栈实现浏览器的前进和后退?
  6. 在Ubuntu 12.04安装和设置Samba实现网上邻居共享
  7. linux查看命令本身shell脚本的路径
  8. mysql 查询默认编码_查看及修改MYSQL默认编码
  9. centos 减少tty数量的方法
  10. iOS UITextView和UITextViewDelegate
  11. 涉密计算机检查专业软件,RG涉密信息自检查工具
  12. 计算机图标制作教程,电脑主题ICO图标制作方法 详细教程你一学就会
  13. Excel 闪退及老是提示内存不足情况实测解决方法
  14. bzoj5442: [Ceoi2018]Global warming
  15. eclipse as 项目编码修改
  16. 《赐我》-一只白羊 同步歌词
  17. python -简易密码生成器
  18. 组合两个表(外连接的使用)
  19. 【超级简单但超级有用】让PDF书籍变身为可搜索文件
  20. 示波器仪器设备自动化校准计量检测软件系统NSAT-3010

热门文章

  1. python爬取微博评论数据的github链接_GitHub - 13633825898/weiboSpider: 新浪微博爬虫,用python爬取新浪微博数据...
  2. 详解 ARM PMU (Performance Monitoring Unit)
  3. 博主眼中的SEM竞价推广
  4. 韩天峰php教程,韩天峰(Rango)的博客
  5. 1秒钟组装发动机,我震惊了
  6. 纽约大学理工学院:MULTIMEDIA SIGNAL COMPRESSION: SPEECH AND
  7. 用计算机完成下表的视距测量计算公式,中南大学工程测量计算题库及参考答案...
  8. 细致的网站开发流程是怎样的?
  9. 学Java的四天(在入土的边缘疯狂试探。。。)
  10. mysql 12点_MySQL 查询昨天中午12点到今天中午12点的数据