redis
Posted BSSZDS930
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis相关的知识,希望对你有一定的参考价值。
MongoDB / ElasticSearch: 文档数据库一般用类JSON格式存储数据,存储的内容是文档型的
HBase: 按列存储数据的。最大特点是方便存储结构化和半结构化数据,方便做数据压缩,针对某一列或某几列的查询有非常大的I/O优势,适合于批量数据处理和即时查询。
Redis: 通过key快速查询到其value,有基于内存和基于磁盘两种实现方案。
import redis conn = redis.Redis(host=‘127.0.0.1‘, port=6379, password="", db=3, decode_respondes=True) conn.hset(‘user‘, ‘name‘, ‘hao‘) conn.hget(‘user‘, ‘name‘) client.keys(‘*‘) client.hgetall(‘user‘)
Redis还支持键过期、地理信息运算、发布订阅、事务、管道、Lua脚本扩展等功能——高速缓存和消息队列。
- Redis的读写性能极高,并且有丰富的特性(发布/订阅、事务、通知等)。
- Redis支持数据的持久化(RDB和AOF两种方式),可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis支持多种数据类型,包括:string、hash、list、set,zset、bitmap、hyperloglog等。
- Redis支持主从复制(实现读写分离)以及哨兵模式(监控master是否宕机并自动调整配置)。
- Redis支持分布式集群,可以很容易的通过水平扩展来提升系统的整体性能。
- Redis基于TCP提供的可靠传输服务进行通信,很多编程语言都提供了Redis客户端支持。
Redis的应用场景
- 高速缓存 - 将不常变化但又经常被访问的热点数据放到Redis数据库中,可以大大降低关系型数据库的压力,从而提升系统的响应性能。
- 排行榜 - 很多网站都有排行榜功能,利用Redis中的列表和有序集合可以非常方便的构造各种排行榜系统。
- 商品秒杀/投票点赞 - Redis提供了对计数操作的支持,网站上常见的秒杀、点赞等功能都可以利用Redis的计数器通过+1或-1的操作来实现,从而避免了使用关系型数据的
update
操作。 - 分布式锁 - 利用Redis可以跨多台服务器实现分布式锁(类似于线程锁,但是能够被多台机器上的多个线程或进程共享)的功能,用于实现一个阻塞式操作。
- 消息队列 - 消息队列和高速缓存一样,是一个大型网站不可缺少的基础服务,可以实现业务解耦和非实时业务削峰等特性,这些我们都会在后面的项目中为大家展示。
以上是关于redis的主要内容,如果未能解决你的问题,请参考以下文章