redis,一直在用,遇到不会的地方,也是先看文档,然后去google,没什么总结的。今天就来总结一下,仅仅是一些体会。


1. redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT)等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,除此以外,还支持主从复制等功能。

2. redis是全内存的非关系型数据库,意思是key,value全部存放在内存中。这是redis成为keyvalue数据库中性能的佼佼者,很自然的可以理解。但是在2.0以后的版本种出现了virtual memory的概念, 具体的介绍http://redis.io/topics/virtual-memory。当数据库很大时并且只有少量的数据频繁的使用是,virtual memory就派上用场了。把常用的记录放到内存中,不常用的放到硬盘上,当硬盘上的数据被请求的时候,redis会自动的把值从硬盘放到内存中。

在/etc/redis/redis.conf里设置vm-enabled yes,

3. redis的所有操作都是线程安全的。之前一个同事bsdb,结果线程不安全,出现了很多问题,后来换成了redis