Redis了解

来源:互联网 发布:网易minecraft 知乎 编辑:程序博客网 时间:2024/06/06 03:39

Redis应用场景:

目前全球最大的Redis用户是新浪微博。在新浪微博Redis的部署场景很多,大概分为如下两种:
1、应用程序直接访问Redis数据库
这里写图片描述

2、应用程序直接访问Redis,只有Redis访问失败时才访问MySQL
这里写图片描述

一、初识Redis:

开源,Key-Value数据库,提供多种语言的API。
1、数据类型(键值可以是以下形式)

ListsSetsSorted setsHashes

2、持久化
通常,Redis将数据存储于内存中,或被配置为使用虚拟内存,通过两种方式可以实现数据持久化:使用截图方式,将内存中数据不断写入磁盘;或使用类似MySQL的日志方式,记录每次更新的日志。

3、主从同步
Redis支持将数据同步到多台从库上,这种特性对提高读取性能非常有益。

4、Redis适用场景

取最新N个数据(如:网站最新文章)排行榜应用,取TOP N操作精准设定过期时间利用INCR,DECR命令构建计数器系统Uniq操作,获取某段时间所有数据排重值实时系统,反垃圾系统Pub/Sub构建实时消息系统构建队列系统缓存(性能优于Memcached),数据结构多样化

当数据库访问过大的时候,缓存出现了。数据访问方式发生变化:
以前:
这里写图片描述
现在:
这里写图片描述

二、如何保证内存中的数据不丢失?

持久化,将内存的数据同步到磁盘

三、集群

主从复制
分片:把数据分散在不同的主机里面保存

有集群,机器宕机怎么办?
1、容灾
2、Sentinel:

是个独立进程监控redis主从主机(类似ping)如果一个主机出现情况,则通知客户端:(1)如果master宕机,选举一个slave作为新的master,转移槽(2)如果slave宕机,通知master

3、Cluster通过操作哈希槽实现

总结

基本了解,希望可以帮到您。

原创粉丝点击