arag's People
arag's Issues
Multiple threads
Fix issues related to multiple threads.
- Make sure when stopThread is received - no other request can be added
- When STOP is received it must be added to the front of the que and que must be emptied
- Dynamically figure out how many threads to run
- Add locks to all data structures
Incorporate lua logs into arag logs
SCAN command
Add support SCAN command.
Pipelining
Add support for Pipelining.
SSCAN, ZSCAN, HSCAN don't implement timestamp
Implementation of SSCAN, ZSCAN, HSCAN commands doesn't take into account "timestamp". This means that if during full iteration a member is added to the map - it will be returned to the caller and thus will violate SCAN guarantees listed in "http://redis.io/commands/scan".
No global variables are allowed in Lua scripts
Redis doesn't allow global variables in Lua scripts. Arag does. This must be fixed.
Can't handle big requests
No strategy has been implemented yet to requests larger than 64KB. Must be fixed.
BLPOP fails sometimes
test_commands.py sometimes hangs on blpop tests.
Publish Notifications
Implementation of Publish Notifications (http://redis.io/topics/notifications) is missing.
SCRIPT KILL
Currently Arag doesn't support Script Kill command. Fix it.
KEYS commands
Add support for Keys commands.
Fix Expiration
Implement a proper cleanup strategy.
Add support for milliseconds.
64 bit integers
Support 64 bit integers instead of 32.
Wrong on-key operations
Currently wrong on-key operations are not detected properly. Need to fix it.
PubSub data structures
PubSub data structures must be optimized for large number of client connections.
Regression Tests
Randomization in Scripting
If you run a redis script on the same data - it will always produce the same output. The output will never be randomized. This is important since script commands are send to AOF as is.
Arag doesn't support randomization yet since any type of persistence is not supported too.
Binary compatible Stings
Make sure Strings implementation is binary compatible.
Pub-Sub
BLPOP, BRPOP, BRPOPLPUSH
Add support for BLPOP, BRPOP, BRPOPLPUSH commands.
Lua script results must be sorted
Lua script results must be sorted before returning. This ensures that Lua script results are always deterministic. Currently arag doesn't support this.
Error reporting
Provide detailed error reporting.
Scripts
Add support for Lua scripts.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.