Redis,认识与了解以及深入

Redis 认识

Redis,由来


08 年 的时候有一个意大利的小伙子 西西里岛的小伙子,笔名. Antirez ,创建了一个访客信息网站 LLOOGG.COM。有的时候我们需要知道网站的访问情况,比如访客的 IP、操作系统、浏览器、使用的搜索关键词、所在地区、访问的网页地址等等。在国内,有很多网站提供了这个功能,比如 CNZZ,百度统计,国外也有谷歌的 GoogleAnalytics。我们不用自己写代码去实现这个功能,只需要在全局的 footer 里面嵌入一段JS 代码就行了,当页面被访问的时候,就会自动把访客的信息发送到这些网站统计的服务器,然后我们登录后台就可以查看数据了。
LLOOGG.COM 提供的就是这种功能,它可以查看最多 10000 条的最新浏览记录。 这样的话,它需要为每一个网站创建一个列表(List),不同网站的访问记录进入到不同的列表。如果列表的长度超过了用户指定的长度,它需要把最早的记录删除(先进先出)。
请看图例:
Redis,认识与了解以及深入

Redis,诞生


当 LLOOGG.COM 的用户越来越多的时候,它需要维护的列表数量也越来越多,这种记录最新的请求和删除最早的请求的操作也越来越多。LLOOGG.COM 最初使用的数据库是MySQL,可想而知,因为每一次记录和删除都要读写磁盘,因为数据量和并发量太大,在这种情况下无论怎么去优化数据库都不管用了。
考虑到最终限制数据库性能的瓶颈在于磁盘,所以antirez打算放弃磁盘,自己去实现一个具有列表结构的数据库的原型,把数据放在内存而不是磁盘,这样可以大大地提升列表的push和pop的效率。antirez发现这种思路确实能解决这个问题,所以用C语言重写了这个内存数据库,并且加上了持久化的功能,09年,Redis横空出世了。从最开始只支持列表的数据库,到现在支持多种数据类型,并且提供了一系列的高级特性,Redis已经成为一个在全世界被广泛使用的开源项目。

Redis,初始


官网介绍中文官网
为什么叫 Redis呢?,它的全称是 Remote Dictionary Service (远程字典服务),它的诞生就是为了解决磁盘的性能问题,所以它是一个 以 Key-value 的字典结构存储方式,其中key-value 的key 最大值为 512M,这个数据来自于 官网,Value 根据不同耳朵数据类型 来。

redis 的端口 为什么是 6379? 这个是根据手机键盘字母 MERZ 的位置决定的。 MERZ Antirez 的朋友
圈语言中是「愚蠢」的代名词,它源于意大利广告女郎「Alessia Merz」在电视节目上说了一堆愚蠢的话。
Redis,认识与了解以及深入
Redis 特性:

  • 速度快
  • 更丰富的数据库类型
  • 功能丰富:持久化机制,过期策略
  • 支持多种变成语言
  • 高可用,集群部署

Redis,安装与基本操作


Redis,基础数据结构


Redis 5种 基础数据结构

  • String(字符串):可以用来存储字符串、整数、浮点数。
  • list(列表)
  • set(集合)
  • hash(哈希)
  • zset(有序集合)

String(字符串)

list (列表)

set (集合)

hash(哈希)

zset(有序集合)