Code Monkey home page Code Monkey logo

iredis's Issues

Drop redis-py dependent

Redis-py's connection behavior is different from "redis-cli":

  • auth on connect
  • select on connect
  • command callback
  • etc...

Auth command

- [ ] hide password(but supply option to show)

  • no save to history file
  • implement this command

Compile grammer regex too slow.

DEBUG [grammar compile time] 0.6472580432891846
DEBUG [timer] Grammer created: 9.5367431640625e-07 from start.
 INFO iredis start, host=127.0.0.1, port=6379, db=0.
DEBUG Using selector: KqueueSelector
DEBUG [timer] First REPL: 0.04548501968383789 from start.
DEBUG REPL waiting for command...

Takes 0.64secnds to compile when startup, painful slow.

Support pager.

When results too long, use pager.

Add a config to disable this.

Only print Redis Response error

➜ [iredis] iredis git:(master) ✗ iredis
127.0.0.1:6379[0]> hgetall redbeat:task::owner-admin:taskid-91
(error) name 'response' is not defined

BUG: single quote escape

Hung-I Wang, [19.08.19 16:53]
b"'\""

Hung-I Wang, [19.08.19 17:33]
[In reply to hooboo]
"".join([("\\" + chr(byte) if chr(byte) == '"' else chr(byte)) if byte < 127 and chr(byte).isprintable() else f"\\x{byte:02x}" for byte in t])

current:

"\'\\""

expect:

"'\\\""

--easy-mode

Autocomplete

Single Column complete:

command (group with color) | summary

footer:

  • command syntax (group)
  • Summary
  • time complexity
  • version, your server version, compare
  • full help link

"PEEK" a key

Consider adding a new command auto-check key's type first, then get its value based on type.

  • If the value list too long, only display few of them.
  • addition information, length, type, etc.

INSPECT key ?

Support mode

  • strict: prevent key scan like keys *, which will cause redis stop service;
  • normal: prevent destructive commands like FLUSHDB, use prompt to ask Do you want to proceed?
  • low(or other name?): print "You are in low mode, you can execute any command without prompt check.

BUG: empty string get stripped

127.0.0.1:6379> config set requirepass ""
Unknown subcommand or wrong number of arguments for 'set'. Try CONFIG HELP.

image

expected

image

Fish shell style part history search.

Current prompt_toolkit not support.

  • implement part history search(figure out a way to bypass prompt_toolkit limit
  • show key usage in help command, like htop

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.