一. redis

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes

全称为remote dictionary server。国内使用到的公司也非常多。

其keyword能够归纳为:

1.开源

并以实际应用驱动。

2.key-value

这样的KV特性将其与关系型数据库本质的差别开来。这也是redis流行的关键因素所在。

3.内存数据库

这样的将数据存储在内存中是redis性能(主要针对存取速度)优于硬盘数据库的根本。为了便于数据长久保存,其也支持持久化操作。

二. redis特性

1.丰富的数据类型与对应操作。

每种数据类型都有特定的应用场景。

2.性能极高。

3.功能丰富。提供的进阶特性可以满足数据库使用需求。

三. redis数据结构

包含string/hash/list/set/zset。针对每种结构的使用情景可见文章:redis之当中武器。

hash特点就是在string基础上可实现单个key的多个filed的存储;list就不用说了,就是双向链表的特性。

set就是集合,它和list的差别体如今value的有序性和唯一性上,操作上更贴近集合的概念,提供交集、并集等。zset相比set多了一个score项。并利用事实上现value的排序。

四. redis进阶特性

1.事物。一组命令的集合。

2.生存时间。

可用来实现缓存。

3.排序。

4.任务队列。

5.管道。

五. redisclient

能够在redis官网上查看针对各个语言的client,所谓的client就是通过对应的语言接口实现对redis的操作。

我是用的python。官方推荐redis-py。可通过pip install redis-py安装。

六. redis资料汇总

这里提供几个实时更新的汇总站。

首先就是redis位于GitHub上的repository的wiki(https://github.com/antirez/redis/wiki),上面提供了一些链接,而且你会发现一些是中文链接。

在scrapy的wiki中也有这种现象,你能够发现中国的用户量了吧。

其次是redis中文站点。

redis研究笔记的更多相关文章

  1. 脚踏实地的Netty源码研究笔记——开篇

    1. 脚踏实地的Netty源码研究笔记--开篇 1.1. Netty介绍 Netty是一个老牌的高性能网络框架.在众多开源框架中都有它的身影,比如:grpc.dubbo.seata等. 里面有着非常多 ...

  2. 使用redis构建可靠分布式锁

    关于分布式锁的概念,具体实现方式,直接参阅下面两个帖子,这里就不多介绍了. 分布式锁的多种实现方式 分布式锁总结 对于分布式锁的几种实现方式的优劣,这里再列举下 1. 数据库实现方式 优点:易理解 缺 ...

  3. Ignite性能测试以及对redis的对比

    测试方法 为了对Ignite做一个基本了解,做了一个性能测试,测试方法也比较简单主要是针对client模式,因为这种方法和使用redis的方式特别像.测试方法很简单主要是下面几点: 不作参数优化,默认 ...

  4. mac osx 安装redis扩展

    1 php -v查看php版本 2 brew search php|grep redis 搜索对应的redis   ps:如果没有brew 就根据http://brew.sh安装 3 brew ins ...

  5. Redis/HBase/Tair比较

    KV系统对比表 对比维度 Redis Redis Cluster Medis Hbase Tair 访问模式    支持Value大小 理论上不超过1GB(建议不超过1MB) 理论上可配置(默认配置1 ...

  6. Redis数据库

    Redis是k-v型数据库的典范,设计思想及数据结构实现都值得学习. 1.数据类型 value支持五种数据类型:1.字符串(strings)2.字符串列表(lists)3.字符串集合(sets)4.有 ...

  7. redis 学习笔记(2)

    redis-cluster 简介 redis-cluster是一个分布式.容错的redis实现,redis-cluster通过将各个单独的redis实例通过特定的协议连接到一起实现了分布式.集群化的目 ...

  8. redis 学习笔记(1)

    redis持久化 snapshot数据快照(rdb) 这是一种定时将redis内存中的数据写入磁盘文件的一种方案,这样保留这一时刻redis中的数据镜像,用于意外回滚.redis的snapshot的格 ...

  9. python+uwsgi导致redis无法长链接引起性能下降问题记录

    今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因 ...

随机推荐

  1. Hash表的使用

    Hash表能够实现在O(1)时间内对数据访问,虽然空间复杂度很高,但是时间复杂度很好.所以下面说一些使用Hash的算法. 第一个只出现一次的字符 利用Hash可以实现统计字符的个数,然后在遍历一次得到 ...

  2. R与数据分析旧笔记(十六) 基于密度的方法:DBSCAN

    基于密度的方法:DBSCAN 基于密度的方法:DBSCAN DBSCAN=Density-Based Spatial Clustering of Applications with Noise 本算法 ...

  3. JAVA并发,后台线程

    package com.xt.thinks21_2; import java.util.concurrent.TimeUnit; /** * 后台线程测试 * * @author Administra ...

  4. 什么是LED锡膏?

    LED锡膏熔点172℃,俗称中温锡膏,其合金为Sn64Bi35Ag1,此类产品是含Bi类的低熔点无铅锡膏,加入Ag改变了SnBi合金的焊点的机械强度.大幅度提高焊点可靠性,适用于高频调谐器系列产品的贴 ...

  5. Android TextWatcher应用实例

    (1)使用TextWathcer限制输入字符个数布局中EditText在android布局中经常用到,对EditText中输入的内容也经常需要进行限制,我们可以通过TextWatcher去观察输入框中 ...

  6. php socket 超时设置

    1.php创建socket的方法和设置超时的方法,贴出来分享一下 //如果$waitAckSec=0,则返回成功发送的字节�? //如果$waitAckSec大于0,则返回发送后接收到得内容 //任何 ...

  7. 用auto_ptr类模板帮助动态内存管理

    动态内存使用最多的是在C++应用程序的代码中.有过编程经验的程序员虽然都知道new操作符的使用一定要与delete匹配,在某些场合仍然可能有内存溢出.当异常被掷出时,程序的正常控制流程被改变,因此导致 ...

  8. document.domain - JavaScript的同源策略问题:错误信息:Permission denied to access property 'document'_eecc00_百度空间

    document.domain - JavaScript的同源策略问题:错误信息:Permission denied to access property 'document'_eecc00_百度空间 ...

  9. UIKit封装的系统动画

    简介 在UIKit中,对UIView封装了很多类方法来进行简单的动画实现,在动画过程中,通过对属性值的修改来完成一系列的效果. 在IOS4以前,主要通过 + beginAnimation + setA ...

  10. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...