十一城

跬步千里,小流江海。

Home Linux ML Python Java Thoughts KmKg BookCan Links About

2017-02-19
理解与应用redis

• 分类: linux • 标签:

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

基础

  • 由ANSI C编写
  • 远程字典服务器
  • NoSql
  • 开源的Key-Value数据库,运行在内存中
  • 作为缓存与消息队列
  • spring-data-redis

Redis高效的原因

  1. 基于内存
  2. 使用的数据结构高效
  3. 网络方面使用多路复用

Redis主从复制机制

能否这样理解:数据库连接池&数据库连接是在内存中,但是当查询数据时,还是需要进行一次I/O操作,从硬盘中查询数据,然而使用redis后,会预先读取部分数据在内存中,这样读数据的时候只需要从内存中拿数据

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

更多地是一个高速存取器,一般用作缓存和类似场景。

Redis本质上也是一种键值数据库。

应用场景

  • 通常局限点来说,Redis也以消息队列的形式存在,作为内嵌的List存在,满足实时的高并发需求。而通常在一个电商类型的数据处理过程之中,有关商品,热销,推荐排序的队列,通常存放在Redis之中,期间也包扩Storm对于Redis列表的读取和更新。
  • 分布式下多个实例统计接口流量需要共享内存
  • 实现session服务器

参考

  1. java使用redis:http://www.runoob.com/redis/redis-java.html

dzzxjl

Home Linux ML Python Java Thoughts KmKg BookCan Links About