redis是一个单进程处理客户端的请求,是通过对linux的epoll函数包装来做到的,redis的实际处理速度完全依靠于主进程的效率。
Epoll是linux内核为处理大批量文件描述而作了改进的epoll,是linux下多路复用IO接口select/poll的增强版本,他能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
默认16个数据库,类似数组下表从零开始,初始默认使用零号库
select命令切换数据库
Dbsize查看当期那数据库的key数量
Flushdb:清空当前库
Flushall:清空所有库
统一密码管理,16个库都是同样的密码,要么都OK,要么都连接不上
Redis索引都是从零开始
五大数据类型:String(字符串),Hash(哈希,类似java里的Map),List(列表),Set(集合),Zset(sort set 有序集合)
String(字符串):string是redis的最基本类型,可以理解为与Memcached一模一样的模型,一个key对应一个value。
string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象,一个redis中字符串value最多可以是512M。
Hash(哈希):Redis hash是一个键值对集合,Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象,类似于java中Map<String,obtect>。
List(列表):列表时简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部(左边)或尾部(右边),他的底层是一个链表。
Set(集合):Redis的Set是string类型的无序集合,他是通过HashTable实现的
Zset(有序集合):和Set一样都是string元素的集合,且不允许重复的成员
不同的是每个元素都会关联一个double类型的分数,redis正式通过分数来为集合中的成员进行从小到大的排序,zset的成员是唯一的,但是分数(score)确可以重复
redis常见数据类型操作命令:http://redisdoc.com/