Giter VIP home page Giter VIP logo

redisclient's Introduction

RedisClient

This is a redis client GUI tool written based on Java SWT and Jedis. It's my objective to build the most convenient redis client GUI tool in the world. In the first place, it will facilitate in editing redis data, such as: add, update, delete, search, cut, copy, paste etc.

My image


Features

Windows Explorer style UI

Multiple Redis version adaptive

  1. Manage redis server, support server password authentication
  2. Manage redis data favorite
  3. Manage redis data
    • New redis data: string, list, hash, set, sorted set
    • Rename redis data
    • Delete redis data
    • Update redis data
    • Cut, copy paste redis data
    • Import, export redis data
    • Search redis data
    • Order redis data by key, data type, size
    • Navigation history
    • Support time to live
    • Support paging query redis data
    • Support multiple selection to delete, cut, copy, export redis data
    • Support flat view and hierarchy view to list redis data
    • Support multiple language, now support English and Chinese
    • Support run redis command in console
    • Support run publish/subscribe
    • Watch redis data for different format(plain text, json, xml, base64 image)

Install & run for Windows

(For Linux, please switch branch. For Mac, please switch branch)

If you don't want to install JDK

  1. Please download redisclient-win32.x86.2.0.exe
  2. Double click redisclient-win32.x86.2.0.exe to install it to directory you choosed
  3. Run it by double click redisclient-win32.x86.2.0.exe

If you have installed the JDK or JRE 5+

For 64 bit windows

  1. Download the runable jar file redisclient-win32.x86_64.2.0.jar
  2. Run the redisclient-win32.x86_64.2.0.jar
    • You can run it by double clicking it if your registry for jar file is configured correctly.
    • Or you can run it from command line, and input java -jar redisclient-win32.x86_64.2.0.jar. Please pay attention to run it as administrator in windows 8.

For 32 bit windows

  1. Download the runable jar file redisclient-win32.x86.2.0.jar
  2. Run the redisclient-win32.x86.2.0.jar
    • You can run it by double clicking it if your registry for jar file is configured correctly.
    • Or you can run it from command line, and input java -jar redisclient-win32.x86.2.0.jar.

Donate

If you find this software useful and would like to support it, you can do so simply by scanning my Alipay two-dimension code and donating whatever you like.

My code

redisclient's People

Contributors

caoxinyu avatar capape avatar siderzhang avatar skyesx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

redisclient's Issues

性能问题

感谢你的分享!
在使用过程中我发现了一些比较严重的性能问题,和你反馈一下:

  1. 在代码中你会用Keys * 获取db下的所有key,然后用type获取其类型,这里存在很严重的性能问题。在我的一台测试机上有37k的keys,每个迭代大约会有67s的等待时间,时间很长,而且每次点击db的时候都会触发update的动作,所以我认为这里有很大的优化空间。
    1)在获取keys的时候不去获取type,也不根据类型设置icon,只有等用户自己点击key的时候采取拉取相应的数据,这样可以大大减少等待时间。
    2)Table是可以动态追加的,如果可以每解析一个key便将其放入rows中。
    3)采取分页

乱码问题

系统写入redis库(utf-8,写入hash),在客户端看到一些奇怪的乱码(key, value都会此情况)。如下面所示:

���-N��V�s^��[��O�i�����Ɩ��V� ������N� g�P��lQ��

导出数据到本地出错和IP地址上报

你可以试下,不管选择那个数据库导出都本地都报错,我的redis版本是2.4.5,还有什么你这个客户端要自动上报IP地址呢,360都拦截啦。

兼容Linux

maven依赖改为:

org.eclipse.swt
org.eclipse.swt.gtk.linux.x86_64
4.3

就可以支持Linux了. 已经测试成功.

Redis用Sentinel方式作主从切换, 工具连接异常!

1、Redis单个节点时, 工具连接正常
2、Redis采用主从Sentinel方式时, 该工具报异常:
redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
at redis.clients.jedis.Protocol.process(Protocol.java:135)
at redis.clients.jedis.Protocol.read(Protocol.java:191)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:175)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:78)
at redis.clients.jedis.Connection.sendCommand(Connection.java:83)
at redis.clients.jedis.Connection.sendCommand(Connection.java:79)
at redis.clients.jedis.BinaryClient.auth(BinaryClient.java:533)
at redis.clients.jedis.BinaryJedis.auth(BinaryJedis.java:2131)
at com.cxy.redisclient.integration.JedisCommand.execute(JedisCommand.java:32)
at com.cxy.redisclient.service.ServerService.listDBs(ServerService.java:101)
at com.cxy.redisclient.presentation.RedisClient.serverTreeItemSelected(RedisClient.java:2761)
at com.cxy.redisclient.presentation.RedisClient.treeItemSelected(RedisClient.java:2500)
at com.cxy.redisclient.presentation.RedisClient.selectTreeItem(RedisClient.java:3275)
at com.cxy.redisclient.presentation.RedisClient.access$2000(RedisClient.java:95)
at com.cxy.redisclient.presentation.RedisClient$20.widgetSelected(RedisClient.java:616)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at com.cxy.redisclient.presentation.RedisClient.open(RedisClient.java:212)
at com.cxy.redisclient.presentation.RedisClient.main(RedisClient.java:194)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at redis.clients.util.RedisInputStream.fill(RedisInputStream.java:109)
at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:45)
at redis.clients.jedis.Protocol.process(Protocol.java:120)
... 21 more

Error: version is too low

I installed the latest Redis for Windows 3.2.
Run Client, added local server and double-click or Refresh the server in tree.
"Error: The version of redis server is too low to support this function"

The Client does now show the tree, console works.

Redsmin

It's my objective to build the most convenient redis client GUI tool in the world

Hello Cao,
Did you take a look at ? https://redsmin.com

It offers multi-server real-time administration, ssl support, data-viz & real-time monitoring as well as batch-editing (and soon alerts).

Redsmin could save you a lot of work, don't hesitate if you find anything missing!

控制台连接断开后,没有重连机制

控制台连接断开后,没有重连机制,只能把所有文本复制,关闭后重连,再粘贴进去。
有时网络不稳定,每次都要这样,太麻烦,希望能改进。

sockettimeout exception

双击其中某个db时报这个错误,而我用其它的redis工具都没有报这个错误。
考虑可能是网络或者数据过多导致的,建议将连接超时时间设置长一点,比如5s以上。

希望能增加同步看到 指令发送

就是我在界面操作的时候,希望下面能有同步显示console
就是 比如 打开某个key xxxx 就在下面用console 输出 get xxxx
便于学习和熟悉redis的操作指令

mac osx EI 10.11上菜单无法点击

日志:
*** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.

Make it work on Linux

Tested on Ubuntu 12.04 64 bits

java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
$ java -jar redisclient-win32.x86_64.1.5.jar
Exception in thread "main" java.lang.ExceptionInInitializerError
Caused by: java.lang.RuntimeException: Permission non accordée
    at com.cxy.redisclient.integration.ConfigFile.getLanguage(ConfigFile.java:55)
    at com.cxy.redisclient.presentation.RedisClient.<clinit>(RedisClient.java:101)

(Sorry for the french message : 'Permission non accordée' => 'Permission denied')

安装出错Cannot load 32-bit SWT libraries on 64-bit JVM电脑是MACOSX

java -jar redisclient-linux.x86.1.5.jar
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
at org.eclipse.swt.internal.C.(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
at org.eclipse.swt.widgets.Display.(Unknown Source)
at com.cxy.redisclient.presentation.RedisClient.open(RedisClient.java:197)
at com.cxy.redisclient.presentation.RedisClient.main(RedisClient.java:187)

exe文件

请教下,是用什么方法编译成exe文件的?

闲置很久不打开界面放在桌面,丢失连接的问题

在使用的时候,没有进行界面操作,锁在桌面下,过了一段时间后再操作报 java net timeout ,可能是redis主动把连接给关了,很久没有通信的结果。 是不是程序中自动添加上一个重连的功能。

README.md中怎么没有说明支持的Redis版本

目前我使用最新版本的Redis-3.0.0.rc1(支持集群), RedisClient可以连接上服务器,属性里面也能显示服务器信息,但是每次点击Redis servers下的一个实例,都会弹出“Redis服务器版本太旧不支持此功能”,从异常信息可以知道,列举不出服务器里面的DB(我以集群模式和非集群模式都是如此),按道理应该向下兼容才对,难道Redis-3.0.0-rc1修改了相关命令?

性能问题和快捷键

是啊 性能问题很严重,希望能优化下,顺便希望能增加一下快捷键操作

网络不好时,会断线

比RedisDesktopManager好用太多了,功能丰富实用,就是有时候连外网连不上或者掉线情况出现。

How use the console

in the tools bar the console is disabled, is there any other configuration I need ?

希望增加代理设置

公司网络环境复杂,希望增加代理配置或者给出jvmHTTP的配置方法,刚才在家里用了下,发现频繁timeout

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.