Redis键值传入之苦如何突破大限度(redis键值过大)

Redis键值传输是指将数据以键值对的形式存放在Redis服务器中,大多数只考虑应用端传入键值对到Redis服务器中。但…

Redis键值传输是指将数据以键值对的形式存放在Redis服务器中,大多数只考虑应用端传入键值对到Redis服务器中。但是,在传输大量数据时,使用键值传输可能会遇到限制。要传输大量的数据,就需要定义一个大的键值对的数组,这在应用端既耗时又耗力。键值对的大小也是值得考虑的,一个__key__最大只能存2048个字节,___value___最大也只有512M,所以批量传输的键值对的数量受到限制。

那么,Redis如何突破大限度呢?下面介绍几种常见的突破大限度的方法。

第一种方法是采用delimiter分隔传输,一般使用特殊符号,比如“:”等作为分隔符将小量的键值对连接起来,形成一个字符串然后传输。如:

“`

Key1:Value1:Key2:Value2:Key3:Value3


第二种方案是将键值对的内容存储成一个json对象,然后对对象进行序列化、压缩成一个字节数组,转换成String后通过一条指令传输:

```
HSETKey jdata 压缩后的Json字符串

第三种方法是将键值对存储成一个二进制文件,然后将文件分割成一个个小文件,使用多条指令将小文件分别传输到Redis服务器中,如:

“`

HMSET key:part1 binary字节1

HMSET key:part2 binary字节2


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 ...
返回顶部