redis研究笔记_数据类型

 

一. 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中文站点。