基本介绍
Redis是用C语言开发内存数据存储系统,可以被用作数据库,缓存或消息中间件。
Redis支持多种语言的客户端。官方网站上有详细支持列表和具体的推荐。
![46a9458e90d08489858d6701c339274a.png](https://i-blog.csdnimg.cn/blog_migrate/6d151ba9272950d1061964afc2b89bb8.jpeg)
持久化方式
Redis中的数据被保存在内存中,也可以通过RDB(Redis DataBase)或者AOF(Append Of File)两种方式持久化到硬盘上或者从硬盘读取到内存中。
数据类型
Redis有8种数据类型,分别是String(字符串),Hash(散列表),List(列表),Set(无序集合),ZSet(有序集合),BitMap(位图),HyperLogLog(超级日志),Geospatial(地理空间)。
部署方式
Redis支持单机和多机两种部署方式。多机部署又有主从模式,哨兵模式,集群模式三种模式。
管道技术
Redis管道技术在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。管道技术能减少客户端和服务器交互的次数,将客户端的请求批量发送给服务器,服务器针对批量数据分别查询并统一回复,能显著提高Redis的性能。
事务
Redis支持分布式环境下的事务操作,其事务可以一次执行多个命令,事务中的所有命令都会被顺序化的执行。事务在执行过程中,不会被其他客户端发送来的命令请求打断。事务操作分为开启事务,命令入队列,执行事务三个阶段。Redis事务相关命令有Multi,Exec,Discard,Watch和Unwatch。
发布订阅
Redis发布,订阅是一种消息通信模式。发送者(pub)向频道(Channel)发送消息, 订阅者(Sub)接收频道上的消息。Redis客户端可以订阅任意数量的频道,发送者也可以向任意频道发送数据。