a very simple pure key => value storage system that speaks Redis protocol with Postgres as storage engine and more
Full Changelog: https://github.com/alash3al/redix/compare/v1.10...v5.0.0
FLUSHALL
FLUSHDB
RATELIMITSET <bucket> <limit> <seconds>
, create a new $bucket
that accepts num of $limit
of actions per the specified num of $seconds
, it will returns 1
for success.RATELIMITTAKE <bucket>
, do an action in the specified bucket
and take an item from it, it will return -1
if the bucket not exists or it has unlimited actions $limit < 1
, 0
if there are no more actions to be done right now, reminder
of actions on success.RATELIMITGET <bucket>
, returns array [$limit
, $seconds
, $remaining_time
, $counter
] information for the specified bucketKEYS [<regexp-pattern>]
HKEYS <HASHMAP>
ECHO [<arg1> <arg2> ...]
INFO
TTL <key>
returns -1
if key will never expire, -2
if it doesn't exists (expired), other wise will returns the seconds
remain before the key will expire.HTTL <HASHMAP> <key>
, the same as TTL
but for HASHMAP
bolt
Redix is now available on DockerHub
WEBHOOKSET <channel> <httpurl>
WEBHOOKDEL <ID>
WEBSOCKETOPEN <channel>
WEBSOCKETCLOSE <ID>
DBSIZE
GC
# i.e: $mykey1 = "this is my value"
$ redis-cli -p 6380 set mykey1 "this is my value"
# i.e: $mykey1 = "this is my value" and expire it after 10 seconds
$ redis-cli -p 6380 set mykey1 "this is my value" 10000
# i.e: echo $mykey1
$ redis-cli -p 6380 get mykey1
# i.e: $mymap1[x] = y
$ redis-cli -p 6380 hset mymap1 x y
# i.e: $mymap1[x] = y and expires it after 10 seconds
$ redis-cli -p 6380 hset mymap1 x y 10000
# i.e: sha512 of "test"
$ redis-cli -p 6380 encode sha512 test
# you want to notify an endpoint i.e: "http://localhost:800/new-data" that there is new data available, in other words, you want to subscribe a webhook to channel updates.
$ redis-cli -p 6380 webhookset testchan http://localhost:800/new-data
# add data to a list
# i.e: [].push(....)
$ redis-cli -p 6380 lpush mylist1 "I'm Mohammed" "I like to Go using Go" "I love coding"
# search in the list
$ redis-cli -p 6380 lsrch mylist1 "mo(.*)"
In this release I introduce many new helpful commands
LSUM <LIST>
(sum the members of the list "in case they were numbers")LAVG <LIST>
(get the avg of the members of the list "in case they were numbers")LMIN <LIST>
(get the minimum of the members of the list "in case they were numbers")LMAX <LIST>
(get the maximum of the members of the list "in case they were numbers")LSRCH <LIST> <NEEDLE>
(text-search using (string search or regex) in the list)LSRCHCOUNT <LIST> <NEEDLE>
(size of text-search result using (string search or regex) in the list)SUBSCRIBE [<channel1> <channel2>]
, if there is no channel specified, it will be set to *
PUBLISH <channel> <payload>
ENCODE <method> <payload>
, encode the specified <payload>
using the specified <method>
(md5
, sha1
, sha256
, sha512
, hex
)UUIDV4
, generates a uuid-v4 string, i.e 0b98aa17-eb06-42b8-b39f-fd7ba6aba7cd
.UNIQID
, generates a unique string.RANDSTR [<size>, default size is 10]
, generates a random string using the specified length.RANDINT <min> <max>
, generates a random string between the specified <min>
and <max>
.TIME
, returns the current time in utc
, seconds
and nanoseconds
HDEL
now supports removing the HMAP itself i.e hdel mymap
LREM
now supports removing the List itself i.e lrem mylist
BadgerDB
memory usage by enabling memory-mapping for LSM
tree and FileIO
in ValueLogs
.