- Access Control List (ACL)
- Redis Serialization Protocol 3 (RESP3)
- Client Side Caching (CSC)
- SSL (#WontFix)
- Better expiry!!!
- Diskless replication!11
- more!!!111one (https://raw.githubusercontent.com/redis/redis/6.0/00-RELEASENOTES)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--/* | |
-- Examples: | |
-- $ redis-cli --eval hashslot.lua , key | |
-- (integer) 12539 | |
-- $ redis-cli --eval hashslot.lua , key2 | |
-- (integer) 4998 | |
-- $ redis-cli --eval hashslot.lua , key3 | |
-- (integer) 935 | |
-- $ redis-cli --eval hashslot.lua , "id:{key}" | |
-- (integer) 12539 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- DUMPs a Redis key in TCL-compatible binary string encoding | |
local b = redis.call("DUMP",KEYS[1]) | |
local s = "" | |
for i = 1, string.len(b), 1 do | |
s = s .. string.format("\\x%02X",string.byte(b,i)) | |
end | |
return s |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*3 | |
$3 | |
SET | |
$3 | |
key | |
$5 | |
value |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM alpine | |
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.local/bin | |
COPY requirements.txt /mkdocs/ | |
WORKDIR /mkdocs | |
RUN apk --update upgrade \ | |
&& apk --no-cache --no-progress add py-pip \ | |
&& rm -rf /var/cache/apk/* \ |
The purpose of this exercise is to define a "default" application ACL profile that can access the all the data without being able to cause too much harm.
Required extra permissions:
- All functional categories
CLIENT ID|GETNAME|REPLY|SETNAME|TRACKING|GETREDIR
: must for modern clientsCLUSTER COUNTKEYSINSLOT|GETKEYSINSLOT|INFO|KEYSLOT|MYID|NODES|SLOTS
: must for cluster-aware clients
- Clone,
sh get_deps.sh
, andmake run
https://github.com/lantiga/RedisTF pip install redis tensorflow
cd models
- Run
python tf-minimal.py
to prepare a minimal graph - The attached
redistf-py.py
demonstrates how to run the test in the README from Python:
$ python redistf-py.py
Setting the graph: OK
Setting tensor t1: OK
Reading Building a sliding window rate limiter with Redis, and w/o addressing the actual logic (which may or may not work).
Optimize by:
- Lua seems a much better choice: idiompotent, portable, server-side, less bandwidth, atomic...
- The call to
ZRANGEBYSCORE
seems to be unused, should be commented out if so - Looking at the use of
ZRANGE
, it appears thatZCARD
it what's actually needed
The (untested) Lua snippet:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local | |
h,d,r=9, | |
0,{} while | |
h>0 do local | |
l='' h=h-1 for | |
x=0, 38 do local | |
a=x-6 if a<0 then a | |
= -a end if a <= d then | |
l = l .. '*' elseif (0.3/ | |
(h+1)) > math.random() then |
NewerOlder