sparrow-sharded-jedis

Redis 的 sharded jedis 客户端实现
授权协议 Apache
开发语言 Java
所属分类 服务器软件、 缓存服务器
软件类型 开源软件
地区 国产
投 递 者 裴甫
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

通过对 Redis 客户端的封装,从代码级别强制规范 key,使 Redis 方便管理和监控。

理论上框架可实现跨各种缓存的 db 的缓存层,且安全,友好,调用简洁。

功能列表:

  1. 进一步对客户端友好封装,对数据类型的转换,封装进框架内。

  2. 增加 CacheDataNotFound hook,并保留原有异常抛出接口,提供客户端灵活调用。

  3. 对 key 的 business 部分提供灵活扩展接口,为特定业务的监控提供扩展。

  4. 接口不只依赖 redis,理论上可以对 redis 的不同接口进行实现,包括 jedis sharded jedis jedisson 以及其他异构缓存系统。

  5. 将接口按类型进行拆分,避免类过于宠大,不利于维护。

  6. 提供 monitor 接口的 befare 和 montor 方法,客户端可根据需要进行扩展,如果需要对 redis 限流,可实现 before 接口,如果不需要则直接返回 true。

  7. 提供限流工具类。AbstractLock 客户端可以根本需要进行实现。

  8. 将 redis 客户端从 sparrow 分拆出来,单独部署,单独维护,单独版本控制。

实现类图如下

测试用例 https://github.com/sparrowzoo/sparrow-test

 相关资料
  • 有没有我可以参考的示例应用程序用于Android上的SAML交互?有人在Android上成功移植/使用了OpenSAML吗? 我正在尝试编写一个简单的应用程序,它将(而不是浏览器重定向)使用本机API来执行SAML身份验证。 还有一些指向测试环境的指针,我可以在其中测试SAML客户机,这会有所帮助。

  • 利用 select 实现的 tcp 客户端 利用 select 实现的 tcp 客户端 源码/* * Copyright (c) 2006-2018, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * *//* 程序清单:利用 selec

  • 我一直在使用FTP客户端java实现。我所要做的就是连接到FTP服务器并将一个文件传输到服务器。 我设法与ftp服务器建立了连接(见下面的代码),之后我使用PASV命令进入了被动模式。现在我不知道下一步该做什么。我尝试在PASV命令之后制作一个新套接字并将其连接到FTP服务器端口20,但没有成功。 我的问题是建立连接时如何启动文件传输?(我的想法是与端口20建立连接并执行STOR命令,但我不知道如

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 14.2.实现远程客户端 我们已经有了远程Service,接下来实现它的客户端,然后测试两者是否工作正常。我们这里有意将服务端与客户端分在两个不同的package中,因为它们是两个独立的程序。 好,在Eclipse中新建一个项目,步骤同以前一样,兹不赘述。不过这里有一点不同,那就是它依赖于前一个项目,也就是LogService。这一点很重要,因为LogClient需要知道LogService的接口

  • 是否可以在Silverlight中创建代理客户端,这意味着Silverlight应用程序知道代理服务器的主机、端口、用户名和密码,然后建立与代理服务器的连接? 然后,Silverlight应用程序将能够向该代理服务器后面的资源发出HTTP请求。 这样,Silverlight应用程序就可以访问某些资源,而无需首先在客户端计算机上安装第三方代理客户端,因为代理客户端将是Silverlight应用程序本