Redis
安装
brew install redis
运行redis服务器
nohup redis-server &
进入redis命令行
redis-cli 命令都是大小写不敏感 但是所有的约定大小写
命令可以接受任何数量的参数
数据结构
将某些已知的数据结构存储到内存,通过简单的协议就能获得到
Redis的对象模型大致就是一个大的扁平的JSON对象
- HEXISTS 命令 时间复杂度是O(1) 固定时间
- SMEMBERS 命令 时间复杂度是 O(n) 线性增长
-
字符串
redis的字符串类型 JavaScript中的Number String
SET online.users 0 GET online.users INCR online.users
-
哈希
哈希类似子对象,不过和MongoDB不同的是,这些子对象只能局限于字符串形式的键和值 所有的值都可以存储的是字符串
{ "name" : "finch" ,"last": "Rauch" ,"age": "21" }
所有的哈希存储,都需要一个用户ID作为键的一部分来唯一确定存储的值。Redis数据库存储的数据如下
{ "profile.1" : {"name": "finch", "last": "Rauch", "age": "21"} ,"profile.2" : {"name": "hello", "last": "world", "age" : "24"} }
哈希的基本命令是HSET HGETALL HDEL HEXISTS
-
列表
Redis的列表就等同于JS中的字符串数组
Redis中有两个基本的操作命令是 RPUSH和 LPUSH 如何查询所有的列表 LRANGE 返回一个在列表中指定范围的元素,当第二个参数为-1 表示返回所有列表中所有的值
-
数据集
set 表示 表示在 列表和哈希之间, 它拥有hast的属性,都是唯一不重复的,数据集保存的是单个值, 没有键
- SADD
- SMEMBERS
- SREM