On this page:
make-redis
redis?
redis-connected?
redis-connect!
redis-disconnect!
redis-key/  c
redis-key-type/  c
redis-string/  c
redis-value/  c

1 Clients

Each client represents a single TCP connection to the Redis server.

procedure

(make-redis [#:client-name client-name    
  #:host host    
  #:port port    
  #:timeout timeout    
  #:db db    
  #:password password])  redis?
  client-name : string? = "racket-redis"
  host : string? = "127.0.0.1"
  port : (integer-in 0 65536) = 6379
  timeout : exact-nonnegative-integer? = 5
  db : (integer-in 0 16) = 0
  password : (or/c false/c non-empty-string?) = #f
Creates a Redis client and immediately attempts to connect to the database at host and port. The timeout parameter controls the maximum amount of time (in milliseconds) the client will wait for any individual response from the database.

Each client maps to an individual connection, therefore clients are not thread safe! See Connection Pooling.

procedure

(redis? v)  boolean?

  v : any/c
Returns #t when v is a Redis client.

procedure

(redis-connected? client)  boolean?

  client : redis?
Returns #t when client appears to be connected to the database. Does not detect broken pipes.

procedure

(redis-connect! client)  void?

  client : redis?
Initiates a connection to the database. If one is already open, then the client is first disconnected before the new connection is made.

procedure

(redis-disconnect! client)  void?

  client : redis?
Disconnects from the server immediately and without sending a QUIT command. Does nothing if the client is already disconnected.

The contract for valid Redis keys.

value

redis-key-type/c : (or/c 'string 'list 'set 'zset 'hash 'stream)

The contract for valid Redis key types.

The contract for valid Redis byte strings. Anywhere you see this contract, keep in mind that any string value you provide will be converted to bytes? via string->bytes/utf-8.

The contract for Redis response values.