PBClient for Redis
Latest version: 1.0.0.0
Category: Tags: , ,

Component for handling full Redis database API with a native-like command syntax.

Probably you already heard of Redis. If not, we strongly recommend to get in touch with this wonderful NoSQL database either on Wikipedia, or on the developer website.

Now you know, what is Redis. Maybe you even heard, that a huge amount of famous developers and companies are using this database. Redis can run almost on any OS. Redis clients are developed  for mostly all popular programming languages. But until recently Delphi was undeservingly deprived. No one has offered a library or components for handling full Redis API. We are happy to announce that our company is offering our clients such a component. 

Working with Redis in Delphi became so simple, that our component almost doesn’t require a special documentation. The whole documentation is in fact a rewritten Redis native documentation with adjusted command syntax. 

PBClient for Redis will provide you with the whole Redis functionality out of the box:
  • TPBRedisClient.AUTH
  • TPBRedisClient.GETSET
  • TPBRedisClient.INCRBYFLOAT
  • TPBRedisClient.CLUSTER_ADDSLOTS

CommandRedis  PBRedisClientIRedisClient
Total22723564
1CLUSTER ADDSLOTS
2CLUSTER COUNT-FAILURE-REPORTS
3CLUSTER COUNTKEYSINSLOT
4CLUSTER DELSLOTS
5CLUSTER FAILOVER
6CLUSTER FORGET
7CLUSTER GETKEYSINSLOT
8CLUSTER INFO
9CLUSTER KEYSLOT
10CLUSTER MEET
11CLUSTER NODES
12CLUSTER REPLICATE
13CLUSTER RESET
14CLUSTER SAVECONFIG
15CLUSTER SET-CONFIG-EPOCH
16CLUSTER SETSLOT
17CLUSTER SLAVES
18CLUSTER REPLICAS
19CLUSTER SLOTS
20READONLY
21READWRITE
22AUTH
23ECHO
24PING
25QUIT
26SELECT
27SelectedDB
28SWAPDB
29SaveDB
30LoadDB
31NumberOfDatabases
32GEOADD
33GEOHASH
34GEOPOS
35GEODIST
36GEORADIUS
37GEORADIUSBYMEMBER
38HDEL
39HEXISTS
40HGET
41HGETALL
42HINCRBY
43HINCRBYFLOAT
44HKEYS
45HLEN
46HMGET
47HMSET
48HSET
49HSETNX
50HSTRLEN
51HVALS
52HSCAN
53PFADD
54PFCOUNT
55PFMERGE
56DEL
57DUMP
58SaveDump
59RestoreDump
60EXISTS
61EXPIRE
62EXPIREAT
63KEYS
64MIGRATE
65MOVE
66OBJECT
67PERSIST
68PEXPIRE
69PEXPIREAT
70PTTL
71RANDOMKEY
72RENAME
73RENAMENX
74RESTORE
75SORT
76TOUCH
77TTL
78TYPE
79UNLINK
80WAIT
81SCAN
82BLPOP
83BRPOP
84BRPOPLPUSH
85LINDEX
86LINSERT
87LLEN
88LPOP
89LPUSH
90LPUSHX
91LRANGE
92LREM
93LSET
94LTRIM
95RPOP
96RPOPLPUSH
97RPUSH
98RPUSHX
99PSUBSCRIBE
100PUBSUB
101PUBLISH
102PUNSUBSCRIBE
103SUBSCRIBE
104UNSUBSCRIBE
105Channels
106EVAL
107EVALSHA
108SCRIPT DEBUG
109SCRIPT EXISTS
110SCRIPT FLUSH
111SCRIPT KILL
112SCRIPT LOAD
113BGREWRITEAOF
114BGSAVE
115CLIENT ID
116CLIENT KILL
117CLIENT LIST
118CLIENT GETNAME
119CLIENT PAUSE
120CLIENT REPLY
121CLIENT SETNAME
122CLIENT UNBLOCK
123COMMAND
124COMMAND COUNT
125COMMAND GETKEYS
126COMMAND INFO
127CONFIG GET
128CONFIG REWRITE
129CONFIG SET
130CONFIG RESETSTAT
131DBSIZE
132DEBUG OBJECT
133DEBUG SEGFAULT
134FLUSHALL
135FLUSHDB
136INFO
137LASTSAVE
138MEMORY DOCTOR
139MEMORY HELP
140MEMORY MALLOC-STATS
141MEMORY PURGE
142MEMORY STATS
143MEMORY USAGE
144MONITOR
145StopMonitor
146ROLE
147SAVE
148SHUTDOWN
149SLAVEOF
150REPLICAOF
151SLOWLOG
152SYNC
153TIME
154SADD
155SCARD
156SDIFF
157SDIFFSTORE
158SINTER
159SINTERSTORE
160SISMEMBER
161SMEMBERS
162SMOVE
163SPOP
164SRANDMEMBER
165SREM
166SUNION
167SUNIONESTORE
168SSCAN
169BZPOPMIN
170BZPOPMAX
171ZADD
172ZCARD
173ZCOUNT
174ZINCRBY
175ZINTERSTORE
176ZLEXCOUNT
177ZPOPMAX
178ZPOPMIN
179ZRANGE
180ZRENGEBYLEX
181ZREVRANGEBYLEX
182ZRANGEBYSCORE
183ZRANK
184ZREM
185ZREMRANGEBYLEX
186ZREMRANGEBYRANK
187ZREMRANGEBYSCORE
188ZREVRANGE
189ZREVRANGEBYSCORE
190ZREVRANK
191ZSCORE
192ZUNIONSTORE
193ZSCAN
194XINFO
195XADD
196XTRIM
197XDEL
198XRANGE
199XREVRANGE
200XLEN
201XREAD
202XGROUP
203XREADGROUP
204XACK
205XCLAIM
206XPENDING
207APPEND
208BITCOUNT
209BITFIELD
210BITOP
211BITPOS
212DECR
213DECRBY
214GET
215GETBIT
216GETRANGE
217GETSET
218INCR
219INCRBY
220INCRBYFLOAT
221MGET
222MSET
223MSETNX
224PSETEX
225SET
226SETBIT
227SETEX
228SETNX
229SETRANGE
230STRLEN
231DISCARD
232EXEC
233MULTI
234UNWATCH
235WATCH

If new commands will be released, you will still be able to access them with a RUN command returning a JSON object:

1
2
3
4
5
function TPBRedisClient.Run(const commandname: string;
  Parameters: TStringArray): string;

procedure TPBRedisClient.Run(var Result: TJSONObject; const commandname: string;
  Parameters: TStringArray);

For instance, this 2 commands are equivalent:

1
2
3
PBRedisClient1.HSET('key', 'field', 'value');

PBRedisClient1.Run('HSET', ['key', 'field', 'value']);

Data typeRedis  PBRedisClientIRedisClient
String [Array] [] [] []
Byte [Array] [] [] []
Word [Array] [] [] []
Cardinal [Array] [] [] []
Integer [Array] [] [] []
Int64 [Array] [] [] []
Single [Array] [] [] []
Double [Array] [] [] []
Extended [Array] [] [] []

Prerequirements

  1. In order for this component to work you have to obtain, install and run the respective Redis software and its licenses. We do not provide any Redis software. 

OS compatibility

Microsoft Windows
7 SP2 x64
8 x64
8.1 x64
10 x64
11 x64

RAD Studio compatibility

Delphi
10 Seattle
10.1 Berlin
10.2 Tokyo
10.3 Rio
10.4 Sydney
11 Alexandria