1、Redis是什么?

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据,并提供了丰富的命令。Redis支持存储的类型非常丰富,常用的包括string、list、set、zset和hash等类型,还有bitmaps和hyperloglogs。而且redis还提供了两种持久化功能aof和rdb。为数据的安全性提供了可靠的方案。Redis提供了多种集群方式,主从模式、哨兵模式、clustor模式等。

2、Redis的诞生

Merzia的创始人Salvatore Sanfilippo不满意基于mysql的网站的实时统计系统lloogg,为了提高性能,09年开发了Redis。

3、Redis的特点

  • C语言开发,基于内存存储,吞吐量高
  • 支持两种持久化方式AOF、RDB
  • 提供丰富的数据类型。
  • 支持丰富的客户端调用语言API
  • 支持主从、哨兵和clustor等多种集群模式
  • 可作为消息队列使用
  • 包含像setnx、incrby的原子性特性。

4、Redis使用场景

热点数据缓存,热点数据访问是业务压力的主要来源,可利用redis访问数据快,丰富的存储类型等特点,实现特点数据的存储。另外可以给热点数据做一个过期时间,防止长期占用内存。

限时业务的运用,可以利用redis的定时过期删除的特性,实现一些手机验证码、限时优惠的活动信息、有时间限制的内容投放业务等场景。

计数器,redis有一个incrby的命令,可以实现原子性的递增。所以在高并发的活动场景、分布式的序列号生成、限制手机号发送短信数量、接口调用次数等等场景。

排行榜,借助Redis的zsort的顺序不重复存储的特性,可以进行排行数据的存储。比如对世界杯竞猜积分,每个人猜1次,对了+1分,错了+0分,展示得分最高的前一百名。建立一个zset,给每个人建立一个分数和用户ID,通过使用zincrby对每个用户的分数+1。最后通过zrangebyscore命令获取当前用户的排行榜竞猜排行。

分布式锁,这个主要是使用setnx命令的一次性写入不可修改的特性来实现的。当然这个setnx设置完之后

(一)Redis实战教程之redis简介相关推荐

  1. java+mysql性能优化_Java培训实战教程之mysql优化

    Java培训实战教程之mysql优化 更新时间:2015年12月29日13时30分 来源:传智播客Java培训学院 浏览次数: 1.   mysql引擎 1.1.  引擎类型 MySQL常用的存储引擎 ...

  2. Redis实战之征服 Redis + Jedis + Spring (三)

    一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现"stringRedisTemplate.opsForList()"的强大,抓紧时间恶补下. 通过spring-d ...

  3. 4. Vue入门实战教程之vue-element-admin后端API适配

    Vue入门实战教程之vue-element-admin后端API适配 1.1 前言 1.2 分析框架 1.1.1 第一个接口:根据账号密码登陆获取token 1.1.2 第二个接口:根据token获取 ...

  4. 叩丁狼—Java培训实战教程之mysql优化

    Java培训实战教程之mysql优化 Java培训过程中精点.难点知识解析 1. mysql引擎1.1. 引擎类型MySQL常用的存储引擎为MyISAM.InnoDB.MEMORY.MERGE,其中I ...

  5. redis实战之使用redis实现排行榜

    转载:http://blog.csdn.net/u011250882/article/details/48632379 设想在一个游戏中,有上百万的玩家数据,如果现在需要你根据玩家的经验值整理一个前2 ...

  6. 【Redis实战】认识Redis中的全局哈希表

    文章目录 Redis是如何支持基于Key的快速访问的 全局哈希表 哈希表结构 哈希冲突 一张图 相关源码 Redis是如何支持基于Key的快速访问的 一谈到Redis,马上能想到的就是:"快 ...

  7. redis实战(12):Redis性能监控指标汇总

    1. 添加依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>sprin ...

  8. Python基础教程之Python简介

    #「笔耕不辍」–生命不息,写作不止# 1. Python是什么? (1)在介绍Python之前,先和大家聊一聊什么是编程语言.大家或许都知道,要让计算机为我们干活,就需要给计算机下指令,那么编程语言就 ...

  9. 前端学习(1615):前端系列实战课程之javascript简介

  10. 51单片机实战教程之C语言基础(五 C语言函数及其定义)

    虽然部分C语言函数的返回值与其参数存在对应关系,但是它与数学里的函数不是同一概念.有的书上把它定义为完成特定任务的代码集合. C语言函数的格式为:返回值数据格式  函数名(参数列表){函数体}, 函数 ...

最新文章

  1. 2022-2028年中国UTM市场投资分析及前景预测报告
  2. Problems you may meet
  3. 软件工程学习笔记《四》需求分析
  4. c# msi中加入驱动_MSI微星:给你的CPU装上热交换气缸活塞,不用电也能驱动风扇降温...
  5. 【案例】复制静止问题一则
  6. 把块存放在页高速缓存中
  7. java中使用activiti(工作流)
  8. 微信小程序.阿里巴巴矢量图标库iconfont使用
  9. 微软bi报表服务器,什么是 Power BI 报表服务器?
  10. R_展示变量之间关系的图形
  11. 赛尔号周五几点服务器维护完,赛尔号手游几点刷新游戏 | 手游网游页游攻略大全...
  12. 四象限分析法分析你是否适合做管理
  13. 微信公众平台开发之签到积分查询功能
  14. Qt报错 converting to execution character set:illegal byte sequence
  15. clang++ exe error unable to execute command Couldnt execute program文件名或扩展名太长
  16. 美国科技界是如何帮助解决贩卖儿童的?
  17. OP-TEE 简易驱动编写:启动TZPC与TZPCDEP
  18. android 获取文件大小
  19. 程序开发小白需了解的一些概念
  20. 曾经vb,c ,c++,python,写过的杨辉三角,致敬杨老前辈

热门文章

  1. UML-----实现图(构件图、部署图)
  2. 保姆级Ruby on rails安装教程
  3. 手把手教你如何进行内网渗透
  4. 《GNU Emacs Lisp编程入门》读书笔记
  5. protel 99se中文版
  6. 华为云OBS Requests specifying Server Side Encryption with KMS managed keys require Signature Version 4.
  7. 又发现几个宝藏网站系列(二)
  8. DCE/MS RPC旁窥
  9. 第五代移动通信技术(5G)
  10. SetupFactory使用