All Projects → Bogdanp → racket-redis

Bogdanp / racket-redis

Licence: other
Fast, idiomatic Redis bidings for Racket.

Programming Languages

racket
414 projects

Projects that are alternatives of or similar to racket-redis

Redis Client App
A redis client application on mac, windows and linux.
Stars: ✭ 140 (+366.67%)
Mutual labels:  redis-client
Redis3m
A C++ Redis client
Stars: ✭ 173 (+476.67%)
Mutual labels:  redis-client
RedisDrive
This is a.Net redis integrated driver to support a single instance, cluster, sentinel and other modes of data manipulation 这是一个.net 的redis集成驱动,支持单实例、云集群、哨兵等模式的数据操作
Stars: ✭ 19 (-36.67%)
Mutual labels:  redis-client
Redis
Type-safe Redis client for Golang
Stars: ✭ 13,117 (+43623.33%)
Mutual labels:  redis-client
Acl
Server framework and network components written by C/C++ for Linux, Mac, FreeBSD, Solaris(x86), Windows, Android, IOS
Stars: ✭ 2,113 (+6943.33%)
Mutual labels:  redis-client
Cachingframework.redis
Distributed caching based on StackExchange.Redis and Redis. Includes support for tagging and is cluster-compatible.
Stars: ✭ 209 (+596.67%)
Mutual labels:  redis-client
Aioredis Py
asyncio (PEP 3156) Redis support
Stars: ✭ 2,003 (+6576.67%)
Mutual labels:  redis-client
aedis
An async redis client designed for performance and scalability
Stars: ✭ 118 (+293.33%)
Mutual labels:  redis-client
Go Rejson
Golang client for redislabs' ReJSON module with support for multilple redis clients (redigo, go-redis)
Stars: ✭ 164 (+446.67%)
Mutual labels:  redis-client
Collectd
The system statistics collection daemon. Please send Pull Requests here!
Stars: ✭ 2,700 (+8900%)
Mutual labels:  redis-client
Camellia
camellia framework by netease-im. provider: 1) redis-client; 2) redis-proxy(redis-sentinel/redis-cluster); 3) hbase-client; 4) others
Stars: ✭ 146 (+386.67%)
Mutual labels:  redis-client
Redisearch Py
RediSearch python client
Stars: ✭ 152 (+406.67%)
Mutual labels:  redis-client
Pottery
Redis for humans. 🌎🌍🌏
Stars: ✭ 204 (+580%)
Mutual labels:  redis-client
Redis Async Rs
A Rust client for Redis, using Tokio
Stars: ✭ 141 (+370%)
Mutual labels:  redis-client
lib mysqludf redis
Provides Mysql UDF commands to synchronize data from Mysql to Redis.
Stars: ✭ 20 (-33.33%)
Mutual labels:  redis-client
Redis web manager
Manage your Redis instance (see keys, memory used, connected client, etc...)
Stars: ✭ 139 (+363.33%)
Mutual labels:  redis-client
Servicestack.redis
.NET's leading C# Redis Client
Stars: ✭ 2,236 (+7353.33%)
Mutual labels:  redis-client
redisbloom-go
Go Client for RedisBloom probabilistic module
Stars: ✭ 74 (+146.67%)
Mutual labels:  redis-client
MythRedisClient
🏎️使用JavaFx做的Redis客户端,资源消耗略大 200-300m,想复用核心代码做成web端,然后浏览器操作,开发起来和跑起来也快
Stars: ✭ 26 (-13.33%)
Mutual labels:  redis-client
Egg Redis
redis plugin for egg
Stars: ✭ 234 (+680%)
Mutual labels:  redis-client

racket-redis Build Status

Fast, idiomatic redis bindings for Racket.

Installation

$ raco pkg install redis-rkt  # NOT "redis".  That's a different package!
$ raco doc redis

Usage

(require redis)

(define c (make-redis))
(redis-bytes-set! c "some-key" "hello, world!")
(redis-bytes-get c "some-key")  ;; => #"hello, world!"
(redis-bytes-get c "some-key" "some-other-key")  ;; => '(#"hello, world!" #f)

;; or, with a connection pool:

(define pool (make-redis-pool))
(call-with-redis-client pool
  (lambda (c)
    (redis-bytes-set! c "some-key" "hello, world!")
    (redis-bytes-get c "some-key")))

;; or, using the "easy" API:

(require redis/easy)

(current-redis-pool (make-redis-pool))
(redis-bytes-set! "some-key" "hello, world!")
(redis-bytes-get "some-key")

Additional documentation is available on docs.racket-lang.org.

Missing commands

The commands below are yet to be implemented. If you need any of these, or others not listed here, then feel free to get the ball rolling by creating a PR.

Bytestrings

  • BITFIELD key [GET type offset] [SET type offset value] [INCRBY type offset increment] [OVERFLOW WRAP|SAT|FAIL]
  • BITPOS key bit [start] [end]
  • GETSET key value
  • MSET key value [key value ...]
  • MSETNX key value [key value ...]

Cluster

  • CLUSTER ADDSLOTS slot [slot ...]
  • CLUSTER COUNT-FAILURE-REPORTS node-id
  • CLUSTER COUNTKEYSINSLOT slot
  • CLUSTER DELSLOTS slot [slot ...]
  • CLUSTER FAILOVER [FORCE|TAKEOVER]
  • CLUSTER FORGET node-id
  • CLUSTER GETKEYSINSLOT slot count
  • CLUSTER INFO
  • CLUSTER KEYSLOT key
  • CLUSTER MEET ip port
  • CLUSTER NODES
  • CLUSTER REPLICATE node-id
  • CLUSTER RESET [HARD|SOFT]
  • CLUSTER SAVECONFIG
  • CLUSTER SET-CONFIG-EPOCH config-epoch
  • CLUSTER SETSLOT slot IMPORTING|MIGRATING|STABLE|NODE [node-id]
  • CLUSTER SLAVES node-id
  • CLUSTER REPLICAS node-id
  • CLUSTER SLOTS
  • READONLY
  • READWRITE

Geo

  • GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
  • GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]

Hashes

  • HSETNX key field value

Keys

  • MIGRATE host port key|"" destination-db timeout [COPY] [REPLACE] [AUTH password] [KEYS key [key ...]]
  • OBJECT subcommand [arguments [arguments ...]]
  • RESTORE key ttl serialized-value [REPLACE] [ABSTTL] [IDLETIME seconds] [FREQ frequency]

Lists

  • LPUSHX key value
  • RPUSHX key value
  • SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]

PubSub

  • PUBSUB subcommand [argument [argument ...]]

Script

  • SCRIPT DEBUG YES|SYNC|NO

Server

  • CLIENT KILL [ip:port] [ID client-id] [TYPE normal|master|slave|pubsub] [ADDR ip:port] [SKIPME yes/no]
  • CLIENT LIST [TYPE normal|master|replica|pubsub]
  • CLIENT REPLY ON|OFF|SKIP
  • CLIENT UNBLOCK client-id [TIMEOUT|ERROR]
  • COMMAND GETKEYS
  • COMMAND INFO command-name [command-name ...]
  • DEBUG OBJECT key
  • DEBUG SEGFAULT
  • MEMORY DOCTOR
  • MEMORY HELP
  • MEMORY MALLOC-STATS
  • MEMORY PURGE
  • MEMORY STATS
  • MEMORY USAGE key [SAMPLES count]
  • MONITOR

Acknowledgements

This project was originally based on rackdis, but has since been rewritten from the ground up for increased performance and safety.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].