icefiredb-proxy

IceFireDB-Proxy #

Project introduction #

IceFireDB-Proxy is a high-performance, high-availability, and user-friendly Resp protocol cluster proxy solution. It is supporting P2P networking and is a network component in the IceFireDB ecosystem.

Features #

  1. Complete data source mode support: stand-alone, cluster mode
  2. Rich command support
  3. Excellent cluster state management and failover
  4. Excellent traffic control policies: Traffic read/write separation and multi-tenant data isolation
  5. Excellent command telemetry features
  6. Bottom-fishing use of mind and base abilities that are closer to cloud native
  7. Supports P2P automatic networking, and Proxy helps traditional Redis databases achieve data decentralization.
  8. New framework for faster network, will be upgraded soon. redhub

Architecture #

image

Network Communication Model #

image

Installing #

1. Install Go
2. git clone https://github.com/IceFireDB/IceFireDB-Proxy.git $GOPATH/src/github.com/IceFireDB/IceFireDB-Proxy
3. cd $GOPATH/src/github.com/IceFireDB/IceFireDB-Proxy
4. make

Usage #

Run a binary file directly, if you need to run in the background can be added to the systemd system management

./bin/Icefiredb-proxy -c ./config/config.yaml

Command support #

String #

  • APPEND
  • BITCOUNT
  • BITPOS
  • DECR
  • DECRBY
  • DEL
  • EXISTS
  • GET
  • GETBIT
  • SETBIT
  • GETRANGE
  • GETSET
  • INCR
  • INCRBY
  • MGET
  • MSET
  • SET
  • SETEX
  • SETEXAT
  • SETRANGE
  • EXPIRE
  • EXPIREAT
  • TTL

Set #

  • SADD
  • SCARD
  • SETBIT
  • SISMEMBER
  • SMEMBERS
  • SPOP
  • SRANDMEMBER
  • SREM
  • SSCAN

List #

  • LINDEX
  • LINSERT
  • LLEN
  • LPOP
  • LPUSH
  • LPUSHX
  • LRANGE
  • LREM
  • LSET
  • LTRIM
  • RPOP
  • RPUSH
  • RPUSHX

Hash #

  • HDEL
  • HEXISTS
  • HGET
  • HGETALL
  • HINCRBY
  • HINCRBYFLOAT
  • HKEYS
  • HLEN
  • HMGET
  • HMSET
  • HSCAN
  • HSET
  • HSETNX
  • HSTRLEN
  • HVALS

Sorted Sets #

  • ZADD
  • ZCARD
  • ZCOUNT
  • ZINCRBY
  • ZLEXCOUNT
  • ZPOPMAX
  • ZPOPMIN
  • ZLEXCOUNT
  • ZRANGE
  • ZRANGEBYLEX
  • ZRANGEBYSCORE
  • ZRANK
  • ZREM
  • ZREMRANGEBYLEX
  • ZREMRANGEBYRANK
  • ZREMRANGEBYSCORE
  • ZREVRANGE
  • ZREVRANGEBYLEX
  • ZREVRANGEBYSCORE
  • ZREVRANK
  • ZSCAN
  • ZSCORE

Stream #

  • XACK
  • XADD
  • XCLAIM
  • XDEL
  • XLEN
  • XINFO
  • XPENDING
  • XRANGE
  • XREADGROUP
  • XREVRANGE
  • XTRIM
  • XGROUP

Others #

  • COMMAND
  • PING
  • QUIT