当前对Redis的使用中,几个原则:
1、数据量大时(如大于100G)Redis当做缓存来使用;
2、不使用Redis做CPU高的运算,如集合运算;
3、Redis中对Hash启动压缩时,能够节约30%左右的内存,但响应时间将会延长;
4、Redis服务器的重启成本太高;
5、产生内存碎片后,性能严重下降;
实践中有两种解决方案比较常用,一是修改Redis源码,针对以上问题做出相应的解决方案;二是从客户端入手,由客户端来解决。前者直接有效,但对Redis本身的侵入非常严重,可能需要单独维护一个Redis分支,并有脱离官方版本的风险;后者多了一层处理,性能可能受到影响,而且需要针对不同语言分别实现。
这里重点讨论一下客户端的方案,如集合运算时先从Redis中取出两个集合,然后在Java应用中做运算;如在Java应用中将数据压缩后存储到Redis中,获取是解压缩;如先自动将某部分数据从缓存模式迁移到持久化模式;
客户端方案丰富后,可以将客户端增加网络层(Redis协议的代理),从而客户端发展为代理中间层。
另外,当前对应对Redis本身单线程特点,经常是一台机器开启多个Redis端口。
是否真的需要一个Redis中间层?需要根据业务场景的特点做权衡,需要考虑性能、运维成本、开发难度等多方面因素。
分享到:
相关推荐
redis客户端连接工具 redis客户端连接工具 redis客户端连接工具
redis客户端连接工具,RedisDesktopManager方便连接redis处理和查看数据
RedisClient是Redis客户端的GUI工具,使用Java swt和jedis编写,可以方便开发者浏览Redis数据库。该软件支持简体中文,非常适合国内用户使用,不需要汉化就可以直接使用。RedisClient将redis数据以资源管理器的界面...
RedisClient是Redis客户端的GUI工具,使用Java swt和jedis编写,可以方便开发者浏览Redis数据库。该软件支持简体中文,非常适合国内用户使用,不需要汉化就可以直接使用。
日常使用linux版连接redis客户端Another-Redis-Desktop-Manager.1.3.9
windows环境 redis服务免安装 附带redis客户端 redis-desktop-manager-0.8.8.384
RedisConnect是基于C++11实现的简单易用的Redis客户端。源码只包含一个头文件与一个命令行工具源文件,无需编译安装,真正做到零依赖。自带连接池功能,调用Setup方法初始化连接池,然后执行Instance方法就可以获取...
win上的redis客户端, 方便在win上查看redis的数据......
RedisClient 是 Redis 客户端 GUI 工具,使用 Java swt 和jedis 编写。它将redis数据以windows资源管理器的界面风格呈现给用户,可以帮助redis开发人员和维护人员方便的建立,修改,删除,查询redis数据,可以将数据...
redis客户端管理工具,redis客户端管理工具,redis客户端管理工具
redis客户端redis-desktop-manager mac版 redis-desktop-manager-0.8.3-2550.dmg
Redis客户端程序-WindowsX64
mac笔记本redis客户端,简洁好用,可下载尝试
redis客户端管理工具
redis客户端和redis绿色免安装版和redis插件,其中redis客户端是win安装版,redis插件是java开发必备插件
redis客户端免安装版,解压即可使用,方便快捷。
在学习 redis的时候,就利用空闲时间写出来redisClient 的工具类,该工具类重要用于对 redis 集群的操作,不仅可以对对象String对象进行操作,也可以对 Object 进行操作。希望对大家有所帮助。