Redis简介

来源:互联网 发布:泛型编程与stl 编辑:程序博客网 时间:2024/05/16 05:55

     Redis是由意大利的一家创业公司Merzia的创始人Salvatore Sanfilippo在2008年根据公司需求所开发的一个开源的高性能键值对数据库。

 http://www.redis.io/。通过提供不同的键值数据类型来适应不同场景下的存储需求,并借助高层级的接口使其可以胜任如存储、队列系统

以及缓存系统等不同角色。

Redis是(Remote Dictionary Server(远程字典服务器))的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。

Redis的key为非二进制安全的string,而键值可以为五中数据类型:二进制安全的string(可以包含任意数据类型比如图片等)、hash、list、

set以及sorted set。Redis中使用命令来读写数据,命令至于Redis如同SQL至于关系数据库一样。

存储结构:

Redis的所有内容都存储在内存中。因此读写速度较于其他基于硬盘的数据库有明显的优势。将数据存在内存中也有问题,比如当程序退出

后内存中的数据将会丢失。因此Redis提供了对持久化的支持,即可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务。

Redis虽然作为数据库开发的,但是其提供了丰富的功能。Redis可以为每个键设置生存时间(Time to life TTL),生存时间到期后键会自动被删除。

这一功能配合其出色的性能让Redis可以作为缓存系统来使用,而且由于Redis至此持久化和丰富的数据结构类型,使其成为另一个非常流行

缓存系统Memcache的有力竞争者。Redis是单线程模式,而Memcache支持多线程,然而Redis的性能已经足够优秀,在大部分情况下性

能不会成为其瓶颈。如果需要复杂的数据类型或者持久化等功能时,Redis将会成为Memcache很好的代替品。

Redis使用C语言开发。且提供了几十种不同编程语言的客户端库,这些库都很好的封装了Redis的命令,是的在程序中与Redis进行交互变得更容易。

Redis资料:http://www.redis.cn/article.html

0 0
原创粉丝点击