redis

mysql基本上都存在磁盘中的

缓存技术应运而生

 

redis是nosql数据库系统,高并发,高性能  面向key/value

 Memcached:是高性能分布式内存缓存服务器,本质是一个内存 key-value 数据库,但 不支持数据持久化,服务器关闭后,数据全丢失。只支持 key-value 结构。

Redis:将大部分数据放在内存中,支持的数据类型有:字符串、hash 表、链表、集合、 有序集合以及基于这些数据类型的相关操作。Redis 内部使用一个 redisobject 对象来表示 all key 和 value。

 

他们的区别:1)redis 中并不是 all 数据都一直存储在内存中,这是和 memcached 相比一 个最大的区别。2)redis 不仅仅支持简单的 key-value 类型的数据,同时还支持字符串、hash 表、链表、集合、有序集合。3)redis 支持数据备份,即 master-slave 模式的备份。4)redis 支持数据的持久化,可以将内存中的数据保存在磁盘上,重启的时候可以再次加载进内存使 用。Memcached 服务器关闭后,数据丢失。5)memcached 挂掉后,数据不可以恢复,redis 数据丢失后可通过 AOF 恢复(灾难恢复)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 数字也可以

 

 

 

 也可以存储对象

 

 

 

 

 

 

 也可以存list

 

 

 也可以set

 

 

 set有交集差集,很容易实现共同关注共同好友功能

 

 

 

 

 排序set必须给一个权重分数

 

分数越小越往前排

 

 

 

 

 

 

 

 

 这样会卡住

一次性返回所有

 

性能不高

 

 

 用scan

 

 

 

 在Java中去重

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 可能突然挂掉,来不及设置过期时间

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 订阅了topic就可以收到消息

 

 

 

 

 解决这个问题就要用专门的消息队列卡夫卡等了。

 

 

redis怎么持久化到磁盘

 

 

 900秒内有1条写入就触发快照

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 AOF默认关闭

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 最小有损

 

 

 

 

 

 服务器节点少的时候会数据倾斜

 

 

 可以为每个计算三个虚拟节点

 

posted @ 2020-02-15 18:39  chyblogs  阅读(193)  评论(0)    收藏  举报