博主教材:李子骅.人民邮电出版社.《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. Laravel 项目中使用 Bootstrap 框架

    Laravel 如何引入 Bootstrap 如官方文档所言,Laravel 并不强制你使用 CSS 框架,但是开箱提供了对 Bootstrap 的支持,在 resources/js/bootstra ...

  2. Django标签&迭代&循环&过滤

    1.{% for Person in persons %}模板标签的替换,就是利用了基础模板的底层设计,嵌套了其他显示的内容.常见的内容替换标签{% block content %}{%endbloc ...

  3. hdu4612 卡cin e-DCC缩点

    /* 给定无向图,求加入一条边后最少剩下多少桥 */ #include<bits/stdc++.h> using namespace std; #define maxn 200005 #d ...

  4. cf862d 交互式二分

    /* 二分搜索出一个01段或10即可 先用n个0确定1的个数num 然后测试区间[l,mid]是否全是0或全是1 如果是,则l=mid,否则r=mid,直到l+1==r 然后再测试l是1还是r是1 如 ...

  5. Shiro+Redis实现tomcat集群session共享

      一.背景 当我们使用了nginx做项目集群以后,就会出现一个很严重的问题亟待解决,那就是:tomcat集群之间如何实现session共享的问题,如果这个问题不解决,就会出现登陆过后再次请求资源依旧 ...

  6. JAVA二分搜索树

    二叉树: 和链表一样,动态数据结构. 二叉树具有唯一根节点 二叉树具有天然的递归结构 二分搜索树是二叉树 二分搜索树的每个节点的值: 1.大于其左子树的所有节点的值 2.小于其右子树的所有节点的值 每 ...

  7. Redis 学习手册

    一:Redis的简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包 ...

  8. IsNullOrEmpty和IsNullOrWhiteSpace的区别

    IsNullOrEmpty // string /// <summary>Indicates whether the specified string is null or an < ...

  9. Ng Alain使用 - cli和克隆两种方式

    感觉没啥要写的,但是在查看相关资料的过程中发现不少浮夸的人,可以说是完全不阅读官方文档,操作完全无厘头,,创建了删,配置,再删除,,,扯蛋....., 方式一:CLI(推荐) # 确保使用的是最新版本 ...

  10. 【技巧汇总】eclipse中如何跳转到指定行

    技巧汇总 持续更新ing eclipse中如何跳转到指定行 ctrl+L