Giter VIP home page Giter VIP logo

medis's Introduction

Medis

Notice: We just released Medis 2! 🚀🚀🚀

Compared to Medis (this repo), Medis 2 provides more delightful features, such as tree view (yes, finally!), streams, alert mode, dark mode, and more. Besides that, Medis 2 is rewritten from the beginning with native technology, making it more morden, beautiful, and fast!

What's more, Medis 2 is free 💰 to download! Don't hesitate, download it from the App Store now and try it out!

Download on the App Store

(or searching "Medis 2" on macOS App Store if the above link doesn't work for you. Also, you can download the app directly from the official website)

Medis


Medis is a beautiful, easy-to-use Redis management application built on the modern web with Electron, React, and Redux. It's powered by many awesome Node.js modules, especially ioredis and ssh2.

Commitizen friendly

Medis starts with all the basic features you need:

  • Keys viewing/editing
  • SSH Tunnel for connecting with remote servers
  • Terminal for executing custom commands
  • Config viewing/editing

It also supports many advanced features:

  • JSON/MessagePack format viewing/editing and built-in highlighting/validator
  • Working with millions keys and key members without blocking the redis server
  • Pattern manager for easy selecting a sub group of keys.

Note: Medis only supports Redis >= 2.8 version because SCAN command was introduced since 2.8. SCAN is very useful to get key list without blocking the server, which is crucial to the production environment. Because the latest stable is 5.0 and 2.6 is a very old version, Medis doesn't support it.


Download Medis on Windows

You can download compiled installer of Medis for Windows from the below page download page

Download Medis on Mac

You can download compiled versions of Medis for Mac OS X from the release page.

Running Locally

  1. Install dependencies
    $ npm install
  1. Compile assets:
    $ npm run pack
  1. Run with Electron:
    $ npm start

Connect to Heroku

Medis can connect to Heroku Redis addon to manage your data. You just need to call heroku redis:credentials --app APP to get your redis credential:

$ heroku redis:credentials --app YOUR_APP
redis://x:PASSWORD@HOST:PORT

And then input HOST, PORT and PASSWORD to the connection tab.

I Love This. How do I Help?

  • Simply star this repository :-)
  • Help us spread the world on Facebook and Twitter
  • Contribute Code! We're developers! (See Roadmap below)
  • Medis is available on the Mac App Store as a paid software. I'll be very grateful if you'd like to buy it to encourage me to continue maintaining Medis. There are no additional features comparing with the open-sourced version, except the fact that you can enjoy auto updating that brought by the Mac App Store.
    Download on the App Store

Roadmap

  • Windows and Linux version (with electron-packager)
  • Support for SaaS Redis services
  • Lua script editor
  • Cluster management
  • GEO keys supporting

Contributors

luin

kvnsmth

dpde

ogasawaraShinnosuke

naholyr

hlobil

Janpot

License

MIT

medis's People

Contributors

adokevin avatar ashajjar avatar dependabot[bot] avatar dpde avatar fieteboerner avatar hlobil avatar janpot avatar kant avatar kblok avatar kvnsmth avatar lazreg87 avatar luin avatar naholyr avatar pagediffio-test avatar panzj 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

medis's Issues

Feature Request: Multiple selection of keys (and properties within sets/lists/etc)

My team just picked up Medis and boy oh boy is it a breath of fresh air :D In ❤️ with it so far. There are a few quirks that I wanted to create some tickets for here as feedback/requests but overall this is a fantastic piece of software that we are excited to start using!

Like I said, I didn't want to jam multiple things into the same issue so that they could be addressed separately from one another.

Multiple Selection

Having the ability to ctrl or cmd ⌘ + click to select multiple items and act on them simultaneously would be a tremendous help when interacting with a large data set, especially when deleting large numbers of items.

What are your thoughts?

ERROR in Editor.jsx

Nadeem-Khans-Mac-mini:medis-master nadeemkhan$ npm run dev

[email protected] dev /Users/nadeemkhan/Downloads/medis-master
webpack --progress --colors --watch

Version: webpack 1.12.11
Time: 11425ms
Asset Size Chunks Chunk Names
main.js 3.08 MB 0 [emitted] main
pattern-manager.js 1.37 MB 1 [emitted] pattern-manager
+ 381 hidden modules

ERROR in ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx
Module not found: Error: Cannot resolve module 'react-codemirror/node_modules/codemirror/mode/javascript/javascript' in /Users/nadeemkhan/Downloads/medis-master/client/components/main/Main/Database/Content/KeyContent
@ ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx 33:0-78

ERROR in ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx
Module not found: Error: Cannot resolve module 'react-codemirror/node_modules/codemirror/addon/lint/json-lint' in /Users/nadeemkhan/Downloads/medis-master/client/components/main/Main/Database/Content/KeyContent
@ ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx 34:0-72

ERROR in ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx
Module not found: Error: Cannot resolve module 'react-codemirror/node_modules/codemirror/addon/lint/lint' in /Users/nadeemkhan/Downloads/medis-master/client/components/main/Main/Database/Content/KeyContent
@ ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx 35:0-67

ERROR in ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx
Module not found: Error: Cannot resolve module 'react-codemirror/node_modules/codemirror/addon/selection/active-line' in /Users/nadeemkhan/Downloads/medis-master/client/components/main/Main/Database/Content/KeyContent
@ ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx 36:0-79

ERROR in ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx
Module not found: Error: Cannot resolve module 'react-codemirror/node_modules/codemirror/addon/edit/closebrackets' in /Users/nadeemkhan/Downloads/medis-master/client/components/main/Main/Database/Content/KeyContent
@ ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx 37:0-76

ERROR in ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx
Module not found: Error: Cannot resolve module 'react-codemirror/node_modules/codemirror/addon/edit/matchbrackets' in /Users/nadeemkhan/Downloads/medis-master/client/components/main/Main/Database/Content/KeyContent
@ ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx 38:0-76

ERROR in ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx
Module not found: Error: Cannot resolve module 'react-codemirror/node_modules/codemirror/lib/codemirror.css' in /Users/nadeemkhan/Downloads/medis-master/client/components/main/Main/Database/Content/KeyContent
@ ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx 41:0-70

ERROR in ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx
Module not found: Error: Cannot resolve module 'react-codemirror/node_modules/codemirror/addon/lint/lint.css' in /Users/nadeemkhan/Downloads/medis-master/client/components/main/Main/Database/Content/KeyContent
@ ./client/components/main/Main/Database/Content/KeyContent/Editor.jsx 42:0-71

Tree View

It would be nice to have a tree view to help navigate keys.

So if you have the following keys

internal123
user:1
user:2

The sidebar navigation could look like

internal123
user v
    1
    2

Cannot copy into fields such as password

I started using this and found out very quickly I cannot copy into pretty much any of the fields! The error exists on the connect screen in the password box for sure.

Reproduction steps:

  • Copy something to the clipboard
  • open a new connection window
  • try to paste into password
    (Other fields will not paste either!)

medis在mac上使用当点了X体验异常

在mac上,感觉medis当我打开窗口,然后使用完,点击了X关闭后,当再一次需要使用时,点击dock中的medis图标会弹不出客户端。而是要将当前的客户端退出之后重新连接,这应该是一个问题吧。

无法显示图形界面

Hi, 是从源码编译的版本。在dock和菜单栏都有,但是看不到界面。OSX 10.11.5。

psubscribe * doesn't work

I use medis through SSH Tunnel connected to my remote redis server, when I use psubscribe * in Terminal tab it output nothing, in the meantime I ssh to my server and use redis-cli with the same command psubscribe * I found it actually has many output. I think it must be something wrong with medis.

Feature request: log window

Trying to diagnose why my connection is timing out, it'd be really handy to see any warnings etc that are being thrown. Thanks!

Feature Request: Custom Renderers

It would be really useful if either through some sort of plugin type system or through the use of an external command, if it were possible to create custom renderers of data.

For instance, I have a Java process that unfortunately stores values as a Java ObjectStream, and it would be nice if I could invoke a java process that would be able to take the data, deserialize it, and pass it back to Medis for display.

"SSH Error: All configured authentication methods failed" when connecting via SSH tunnel

Hello,

I'm trying to connect to my remote Redis DB via the tunneling option, but I keep encountering this error: "SSH Error: All configured authentication methods failed".
I can confirm that my configuration is correct, as I just tried connecting to my database via ssh and redis-cli. I was even able to connect to it via Medis without tunneling. Any idea how I can troubleshoot this?

Thanks,

  • Egoscio

Import/Export Favourites

I was able to migrate the Local Storage directory, but I would be really nice if it were possible to import and export "Favourites".

any CLI integrated

i am using brew cask to install this, found that no CLI is integrated.
is this in your road map?

Can't see any of my keys on the sidebar

Hi :)

First of thanks for creating this! I bought it from the Mac App store to support you and the project.

Unforunallty after downloading and installing I can't see any of my keys on the "keys sidebar" not even when I search for "*".

What am I doing wrong here?

screen shot 2016-01-12 at 9 57 53 am

screen shot 2016-01-12 at 11 38 50 am

Terminal - HMSET Command Error

redis> HMSET w3ckey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
ERR wrong number of arguments for HMSET

I try redid-cli to run this command ,it worked!
redis-cli
127.0.0.1:6379> HMSET w3ckey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
OK

No values in database dropdown for Heroku redis

Medis version: 0.3.1

How to reproduce:

  1. create a Heroku app
  2. provision a Heroku Redis add-on on the app
  3. wait some minutes until the add-on actually gets spun up
  4. get Redis host, port, password from your Heroku app's REDIS_URL
  5. connect to it with Medis

Expected result:

  • DB dropdown has databases

Actual result:
screen shot 2016-12-02 at 12 12 22

Mac software stops responding

If Medis is left running without use for ~10 minutes, the software will stop responding.

Activity Monitor doesn't report anything wrong, but I have to quit the app to use it again.

Feature Request (Possible Bug): Allow searching for explicit * character in search field

At the moment, entering a query in the search field like resque:worker:* works great when looking for all keys starting with resque:worker:, like resque:worker:123456. It works much less great, however, when the key I am looking for has * explicitly in the name.

Is there any way to escape the * character so we can perform these searches?

  • If so, then this is a bug report
  • If not, then this is a feature request

:)

Unhandled rejection ReplyError: ERR unknown command 'config'

I built a dev version of Medis so I could look in the console on the server I was having issues.

I then connected to the server where I able to connect successfully. The database was not showing up but the work around of using select # works fine. But after about 15 to 20 seconds, I get a pop up that says "Redis Error: Connection failed" and then I'm booted out.

Which is bizarre because I am able to interact with the server otherwise.

I will say that unlike my localhost, this server cannot seem to get configurations, just an empty screen. Something connected to that is causing this issue it seems, but instead of just not letting me configure the server's config, it disconnects me.

Here are is the error from my logs:

Unhandled rejection ReplyError: ERR unknown command 'config'
    at Config.load (file:///Users/mneumark/Desktop/medis/main.js:75755:25)
    at new Config (file:///Users/mneumark/Desktop/medis/main.js:75747:11)
    at ReactCompositeComponentMixin.mountComponent (file:///Users/mneumark/Desktop/medis/main.js:7320:19)
    at wrapper [as mountComponent] (file:///Users/mneumark/Desktop/medis/main.js:1510:22)
    at Object.ReactReconciler.mountComponent (file:///Users/mneumark/Desktop/medis/main.js:5702:36)
    at ReactDOMComponent.ReactMultiChild.Mixin.mountChildren (file:///Users/mneumark/Desktop/medis/main.js:14272:45)
    at ReactDOMComponent.Mixin._createContentMarkup (file:///Users/mneumark/Desktop/medis/main.js:11447:33)
    at ReactDOMComponent.Mixin.mountComponent (file:///Users/mneumark/Desktop/medis/main.js:11335:30)
    at Object.ReactReconciler.mountComponent (file:///Users/mneumark/Desktop/medis/main.js:5702:36)
    at ReactCompositeComponentMixin.mountComponent (file:///Users/mneumark/Desktop/medis/main.js:7397:35)
    at wrapper [as mountComponent] (file:///Users/mneumark/Desktop/medis/main.js:1510:22)
    at Object.ReactReconciler.mountComponent (file:///Users/mneumark/Desktop/medis/main.js:5702:36)
    at ReactDOMComponent.ReactMultiChild.Mixin.mountChildren (file:///Users/mneumark/Desktop/medis/main.js:14272:45)
    at ReactDOMComponent.Mixin._createContentMarkup (file:///Users/mneumark/Desktop/medis/main.js:11447:33)
    at ReactDOMComponent.Mixin.mountComponent (file:///Users/mneumark/Desktop/medis/main.js:11335:30)

Self built app fails silently when ran.

I tried building and installing Medis locally by doing the following, as said in the readme:

$ npm install
$ npm run deploy

For some reason, whenever I run the resulting .app, it shows me an empty app GUI with no main window (ie: Only the toolbar). I tried debugging this by reverting and doing npm run dev instead of deploy, and it works fine when I npm start. It seems to me like something might be wrong with the deploy script, not completely sure though. The only problem with npm run dev is that when you run the .app, it shows you the generic "Drag your app here to run it" Electron window. I really have no idea how Electron packages the app binaries, so I'll just leave it to that for now.

Filter set members and hashes keys

First of all, thanks you a lot for your effort.

It would be cool if we could filter through set members and hashes keys, I know that redis doesn't have a built in way to do this, maybe a simple javascript filterer...

Something like this:

image

Could not change DB

I discover Medis provide a dropdown for changing DB. But it can not work (with no any selectable option). Does some one had same situation?

image

Font suggestion

Currently it renders Redis key names in something like Courier New which is very thin.
Maybe you would consider changing it to another monospace font, something like font-family: Menlo, Consolas, Courier New.

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.