博主教材:李子骅.人民邮电出版社.《redis入门指南》

博主操作系统系统:虚拟机Ubuntu16.04

博主redis版本:3.0.6

第1章:简介

redis是一个开源的、高性能的、基于键值对缓存的与存储系统,
通过提供多种键值数据类型来适应不同场景下的缓存与存储需求.

1.1历史域发展

使用redis情况:

  • 国内:新浪微博,街旁,知乎
  • 国外:GitHub,Stack Overflow,Flickr,暴雪,Instagram
  • VMware公司从2010年开始赞助redis的开发

1.2特性

1.2.1存储结构

redis是REmote DIctionary server(远程字典服务器)的缩写

redis支持的键值数据类型:

  1. 字符串类型 string
  2. 散列类型 hash
  3. 列表类型 list
  4. 集合类型 set
  5. 有序集合类型 zset

1.2.2内存存储与持久化

redis数据库中所有数据都存储在内存中.由于内存的读写速度
远快于硬盘,因此redis在性能上对比其他基于硬盘存储的数据库
有非常明显的优势.在一台普通的笔记本电脑上,redis可以在一秒
内读写超过10万个键值

1.2.3功能丰富

  • redis可以为每个键设置生存时间,生存事件到期后自动被删除
  • 在性能上,redis是单线程模型,Memcached支持多线程
  • redis可以限定数据占用的最大内存空间,在数据达到内存空间限制后可以按照一定的规则自动淘汰不需要的键
  • redis的列表类型键可以用来实现队列,并支持阻塞式读取
  • redis支持'发布/订阅'的消息模式,可以基于此构建聊天室等系统

1.2.4简单稳定

  • redis直观的存储结构使得通过程序与redis交互十分简单
  • redis提供了100多个命令,但常用只有十几个,并且每个都容易记忆
  • redis提供了几十种不同编程语言的客户端库
  • redis使用C语言开发,代码量只有3万多行.这降低了用户通过修改redis
    源代码来使之更适合自己项目需要的门槛
  • redis是开源的

Redis自学笔记:1.简介的更多相关文章

  1. Redis自学笔记:5.实践

    第5章实践 5.3 python与redis 5.3.1安装 pip install redis 5.3.2使用方法 自己补充内容:Ubuntu下redis开启远程连接 打开redis配置:sudo ...

  2. Redis自学笔记:4.4进阶-消息通知

    4.4消息通知 4.4.1任务队列 传递任务的队列.与任务队列进行交互的实体有两类,一类是生产者,一类是消费者. 生产者将需要处理的任务放入任务队列中,二消费者不断从任务队列中读入任务 信息并执行. ...

  3. Redis自学笔记:4.3进阶-排序

    4.3排序 4.3.1有序集合的集合操作 有序集合没有zinter和zunion命令,使用其他命令实现方法: multi zinterstore tempKey ... zrange tempKey ...

  4. Redis自学笔记:4.2进阶-过期时间

    4.2过期时间 **4.2.1命令介绍* 在redis中使用 expire 命令设置一个键的过期时间后redis会自动删除它. expire key seconds (seconds单位是秒,必须是整 ...

  5. Redis自学笔记:4.1进阶-事务

    第4章:进阶 4.1事务 4.1.1概述 redis中的事务是一组命令的集合 事务同命令一样都是redis的最小执行单位,一个事务中的命令要么都执行, 要么都不执行 事务的原理是先将一个事务的命令发送 ...

  6. Redis自学笔记:3.6入门-有序集合类型

    3.6有序集合类型 3.6.1介绍 在集合类型基础上,为集合中每个元素都关联了一个分数,故可以获得 分数最高(最低)的前N个元素,可以获得指定范围内的元素等 有序集合中每个元素不同,但它们的分数却可以 ...

  7. Redis自学笔记:3.5入门-集合类型

    3.5集合类型 3.5.1介绍 在集合中的每个元素都是不同的,且没有顺序 表3-4集合类型和列表类型的对比 - 集合类型 列表类型 存储内容 至多232-1个字符串 至多232-1个字符串 有序性 否 ...

  8. Redis自学笔记:3.4入门-列表类型

    3.4列表类型 3.4.1介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者 获得列表的某一片段. 优点:内部使用的是双向链表,所以向列表两端添加元素的时间复杂度为O(1 ...

  9. Redis自学笔记:3.3入门-散列类型

    3.3散列类型 3.3.1介绍 散列类型不能嵌套其他数据类型,一个散列类型可以包含至多232-1个字段 散列类型适合存储对象:使用对象类别和ID构成键名,使用字段表示对象的数据, 而字段值则存储属性值 ...

随机推荐

  1. poj2441状态压缩dp基础

    /* 给定n头牛,m个谷仓,每头牛只能在一些特定的谷仓,一个谷仓只能有一头牛 问可行的安排方式 dp[i][j]表示前i头牛组成状态j的方案数,状态0表示无牛,1表示有牛 使用滚动数组即可 枚举到第i ...

  2. html5 drag 文件拖拽浅淡

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 制作linux下的.run安装包

    前言 之前往linux上安装一个软件,都是以压缩包或者压缩包+shell的方法,这每次安装,都是先scp到某个目录, 解压,安装......稍微厉害的,会写个shell脚本.但是还是达不到真正的快速方 ...

  4. Loadrunner Web (HTTP/HTML) 接口测试

    Action() { int nHttpRetCode;   lr_rendezvous("read"); lr_start_transaction("go    /*w ...

  5. spring cloud 使用ribbon简单处理客户端负载均衡

    假如我们的multiple服务的访问量剧增,用一个服务已经无法承载, 我们可以把Hello World服务做成一个集群. 很简单,我们只需要复制Hello world服务,同时将原来的端口8762修改 ...

  6. Left-pad

    L1-032 Left-pad (20 分)   根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的 ...

  7. 51 Nod 1242 斐波那契数列的第N项(矩阵快速幂模板题)

    1242 斐波那契数列的第N项  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 斐波那契数列的定义如下: F(0) = 0 F(1) = 1 F(n) ...

  8. Oracle数据库执行exp命令--报参数'log' 不允许有多个值

    前几天设置自动备份oracle 数据库时发现一个问题,自动备份老是执行失败,后来把语句拿出来单独执行才发现是语句写的有问题,一般情况下自动备份都要自动生成日志文件,以便于我们查看备份是否正常执行.下面 ...

  9. C# 正则表达式匹配盘符

    if (!Regex.IsMatch(diskName, @"^[c-zC-Z](:\\)?$")) { throw new FormatException($"{dis ...

  10. Scala学习教程笔记一之基础语法,条件控制,循环控制,函数,数组,集合

    前言:Scala的安装教程:http://www.cnblogs.com/biehongli/p/8065679.html 1:Scala之基础语法学习笔记: :声明val变量:可以使用val来声明变 ...