redis
1. redis
是一个 key-value存储系统,超高性能的数据库。
redis根本是使用内存存储
很大的补偿了memcached这类key/value存储的不足,在部分场合可以对关系型数据库起到很好的补充作用
它提供了JAVA,C/C++,C#,PHP,PYTHON等各种客户端。2. 数据模型
其外围由一个键、值 映射的 字典构成
其值的类型不限于字符串,还支持:
- [ ] 字符串列表
- [ ] 无序不重复的字符串集合
- [ ] *有序不重复的字符串集合
- [ ] *键值都为字符串的哈希表3. 数据结构
string
hash
list 双向链表
set 集合
zset 排序集合4. 常用命令
持久化的关键指令:SAVE BEGIN LASTSAVE
key操作:
TYPE key 获取key的类型
KEYS pattern 模式匹配key
RANDOMKEY 随机key列表操作:
RPUSH key string 插入尾
LPUSH key string 插入头
LLEN key — 列表长度
LRANGE key start end — 返回列表中某个范围的值,相当于mysql里面的分页查询那样
LTRIM key start end — 只保留列表中某个范围的值
LINDEX key index — 获取列表中特定索引号的值,要注意是O(n)复杂度
LSET key index value — 设置列表中某个位置的值
LPOP key
RPOP key — 和上面的LPOP一样,就是类似栈或队列的那种取头取尾指令,可以当成消息队列来使用了集合操作
SADD key member — 增加元素
SREM key member — 删除元素
SCARD key — 返回集合大小
SISMEMBER key member — 判断某个值是否在集合中
SINTER key1 key2 … keyN — 获取多个集合的交集元素
SMEMBERS key — 列出集合的所有元素
百度redis
hash表
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。
散列函数能使对一个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更快地定位