您的位置:首页 > 数据库 > Redis

初识Redis

2017-12-28 12:04 253 查看
Redis简介:

Redis 是一个NoSQL或者非关系型的远程内存数据库,它可以存储键( key )与5 种不同类型的值( value )之间的映射( mapping ),可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能,用户可以很方便地将Redis 扩展成一个能够包含数百GB 数据、每秒处理上百万次请求的系统。

Redis可以为每个键设置生存时间(Time To Live,TTL),生存时间到期后键会自动被删除。还可以限制键的大小(一个字符串类型键允许存储的数据的最大容量是512 MB)

Redis和Memcached:

1)这两者都可用于存储键值映射,彼此的性能也相差无几,但是Redis支持持久化能够自动以两种不同的方式将数据写入硬盘
2)Redis 除了能存储普通的字符串键之外,还可以存储其他4 种数据结构,而memcached 只能存储普通的字符串键。

3)在性能上Redis是单线程模型,而Memcached支持多线程,所以在多核服务器上后者的性能更高一些。

然而,前面已经介绍过,Redis的性能已经足够优异,在绝大部分场合下其性能都不会成为瓶颈(在一台普通的笔记本电脑上,Redis可以在一秒内读写超过十万个键值, 一个空Redis实例占用的内存只有1MB左右)

多数据库:

Redis是一个字典结构的存储服务器,实际上Redis提供了多个用来存储的字典,客户端可以指定将数据存储在哪个字典中,所以可以将其中的每个字典都理解成一个独立的数据库。每个数据库对外都是以一个从0 开始的递增数字命名, Redis 默认支持16 个数据库,可以通过配置参数databases 来修改这一数字。客户端与Redis 建立连接后会自动选择0号数据库,不过可以随时使用SELECT 命令更换数据库,如选择1号数据库:
SELECT 1
。Redis 不支持自定义数据库的名字,每个数据库都以编号命名,Redis 也不支持为每个数据库设置不同的访问密码,最重要的一点是多个数据库之间并不是完全隔离的,比如
FLU SHALL
命令可以清空一个Redis 实例中所有数据库中的数据。综上所述,这些数据库更像是一种命名空间

一个空Redis 实例占用的内存只1MB 左右,所以不用担心多个Redis 实例会额外占用很多内存。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis