尝试挖掘原生Redis的深度评测(原生redis评测)

自从 NoSQL 无疆增长起来,Redis 作为一款开源的 Key-Value 缓存数据库赢得了很大的支持和流行,几乎成…

自从 NoSQL 无疆增长起来,Redis 作为一款开源的 Key-Value 缓存数据库赢得了很大的支持和流行,几乎成为所有社区中的必备框架,原生Redis 是一个孤独的一颗明珠,不仅的灵活性和高效率,更是它独特的一种设计思想,本文将主要从其 高可用性,持久性及性能这几点来谈原生Redis 的深度评测,希望抛砖引玉。

1. 高可用性

随着系统的增加,容量的增大,被访问的数据量增多,系统的稳定性受到了很大的考验,原生 Redis 能够以高可用的方式提供水平扩展、主从复制、机器间复制等都是非常出色的,依靠 Redis 的主从模式,可以做到切换故障容易,减少服务停止,保证数据安全性以及系统可用性,所以可以将原生 Redis 完美投入大型场景下应用。

(代码)

// Redis 主从模式

master = Redis(host=’127.0.0.1′, port=6379,db=1)

slave = Redis(host=’127.0.0.2′, port=6379,db=1)

master.slaveof(‘127.0.0.2’, 6379)

master.readonly()

2. 持久性

Redis 是一种内存型的数据库,所以,在服务器重启或者意外崩溃后数据会丢失,此时需要有可信赖的持久服务,Redis 也会给出最大程度的支持,其中有三种持久化方法,即 RDB(快照)、AOF(追加)和 RDB+AOF,可以根据实际情况选择一种,以便在故障发生时,服务能够快速的恢复到故障发生时的状态,可以有效的保障数据的完整性。

(代码)

// 设置RDB/AOF/RDB+AOF持久化

# RDB

save 60 1000 # 执行60秒内如果至少有1000个key被修改,则执行快照持久化

# AOF

appendonly yes # 开启AOF持久化

# RDB+AOF

appendfsync everysec # 使每写入一个命令就同步一次数据到硬盘,保证数据及时性

3. 性能

除了以上,原生 Redis 的性能也是非常强大的,它只依赖于一台服务器,即使数据量级、并发量级极大,它也不受影响,因为原生 Redis 被设计成一个异步IO 的架构,采用多路复用、事件循环,非常适合做网络请求处理,此外,Redis 还可以运用Lua 脚本来做一些更多的事,如嵌入复杂的算法、进行实时的消息推送,更是更有用且灵活性更强,可以说是各类场景中绝佳的选择。

(代码)

# 使用 Lua 脚本

# 调用 Redis 接口

local result = redis.call(‘set’, key, value)

# 返回结果

return result

总结:虽然原生 Redis 在用户体验上可能有些欠缺,但是它的出色的性能和可用性给用户带来了很大的便利,所以 Redis 不仅备受广大用户的追捧,更是不可多得的一款傲娇的数据库,这也是它所能抗衡并成为市场占有率较高的原因之一。

香港服务器首选港服(Server.HK),2H2G首月10元开通。
港服(Server.HK)(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

为您推荐

港服(Server.HK)MongoDB教程:MongoDB 索引

MongoDB 索引 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件...

港服(Server.HK)PostgreSQL教程PostgreSQL 别名

PostgreSQL 别名 我们可以用 SQL 重命名一张表或者一个字段的名称,这个名称就叫着该表或该字段的别名。 创建...

港服(Server.HK)Memcached教程:Memcached stats 命令

Memcached stats 命令 Memcached stats 命令用于返回统计信息例如 PID(进程号)、版本号...

港服(Server.HK)Redis教程:Redis 数据类型

Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集...

港服(Server.HK)Redis教程:Redis GEO

Redis GEO Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 ...
返回顶部