【Redis】Redis学习① - Redis简介
一、Redis简介
1.开源的、遵循BSD协议的、基于内存的键值数据库。
2.非关系型数据库
3.redis提供将内存通过网络远程共享的一种服务,提供类似功能的还有memcache,但相比memcache,redis还提供了易扩展,高性能,具备数据持久性等功能。
4.redis在高并发、低延迟环境要求较高的环境使用量非常广泛。
二、Redis与memcached
1.支持数据的持久化:可以将内存中的数据保持在磁盘中,重启redis服务或者服务器之后可以从备份文件中恢复数据到内存继续使用。
2.支持更多的数据类型:string(字符串),hash(哈希数据),list(列表),set(集合),zet(有序集合)。
3.支持数据的备份:可以实现类似于数据的master-slave模式的数据备份,另外也支持使用快照+AOF。
4.支持更大的value数据:memcache单个key value最大只支持1MB,而redis最大支持512MB。
5.Redis是单线程:memcache是多线程,所以单机情况下没有memcache并发高,但redis支持分布式集群以实现更高的并发,单Redis实例可以实现数万并发。
6.支持集群横向扩展:基于redis cluster的横向扩展,可以实现分布式集群,大幅提升性能和数据安全性。
7.都是基于C语言开发。
三、Redis典型应用场景
1.session共享:常见于web集群中的Tomcat或者PHP中多web服务器session共享。
2.消息队列:ELK的日志缓存。部分业务的订阅发布系统。
3.计数器:访问排行榜,商品浏览数等和次数相关的数值统计场景。
4.缓存:数据查询、电商网站商品信息、新闻内容。
5.微博、微信社交场合:共同好友、点赞评论。