Redis
1.NoSQL
泛指非关系型数据库
特点:
1.非关系型数据库,不依赖业务逻辑数据库存储,以简单key-value存储。因此大大的增加了数据库的扩展能力
2.不遵循SQL标准
3.不支持ACID
适用于:高并发读写、海量数据读写、数据可扩展
不适用于:事务存储、复杂数据库
优点:
1.缓存数据库,完全在内存中,速度快,数据结构简单
2.减少io操作,数据库和表拆分,虽然破坏业务逻辑,即外加一个缓存数据库,提高数据库速度,也可以用专门的存储方式,以及针对不同的数据结构存储
2.Redis
默认6379端口号,支持多数据类型,持久化,单线程+多路io口复用
key值键位:
string字符串:
一个key对应一个value、二进制安全的,即可包含任何数据、value最多可以是512m
list列表:
set集合:字典,哈希表,自动排重且为无序的
hash哈希:键值对集合,特别适合用于存储对象类型
Zset有序集合:没有重复元素的字符串集合,按照相关的分数进行排名,排名从低到高,排名可重复
发布和订阅:
客户端可以订阅任意频道的消息,打开一个客户端进行订阅----subscribe channel1
打开另一个客户端进行发布----publish channel1 hello
Bitmaps:
1.合理使用操作位可以有效地提高内存使用率和开发使用率
2.本身是一个字符串,不是数据类型,数组的每个单元只能存放0和1,数组的下标在Bitmaps叫做偏移量
3.节省空间,一般存储活跃用户比较多
设置值:setbit key offset value
取值:getbit key offset
统计数值:bitcount key (start end)
bitop:复合操作,交并非异或,结果保存在destkey:bitop