A mock of redis

npm install mockis
1 downloads in the last day
13 downloads in the last week
25 downloads in the last month


A self indulgent coffeescript mock of redis.


Build Status

It works for certain things. It should match the success behavior of the node_redis library. Failure behavior may not match, but we try to do something sane.

It's also very incomplete. I've implemented the basic things I need. I will try to add other things as well, but if it's missing things you need, send a PR.

Supported Commands

  • expire
  • exists
  • ttl
  • persist
  • set
  • setex
  • setnx
  • get
  • del
  • incr
  • mget
  • mset
  • sadd
  • smembers
  • srem
  • sismember
Sorted Sets
  • zadd
  • zrange
  • zrevrange
  • zremrangebyscore
  • zrem
  • zremrangebyrank
  • hset
  • hget
  • hgetall
  • hmset
  • flushall
Pub/sub (be sure to check out child nodes)
  • subscribe
  • unsubscribe
  • publish
  • multi
  • exec
  • discard
  • watch
  • unwatch

Sharing storage between mockis instances

Multiple instances of Mockis can share the same storage like such:

parent = new Mockis()
child = new Mockis()

child.set "foo", "bar", ->
  parent.get "foo", (err, result) ->
    result is "bar" # true

One important note about this is that if the child already has data, it will be lost. There is no merge.

Parents can have arbitrary numbers of children. The whole children of children thing can get wacky. Don't do it.


Contributions are totes welcome. When possible, please submit a PR for each command. This isn't a requirement, but it can streamline reviewing them.

All methods must call callbacks synchronously. Multi requires it.

Please create at least the most basic of tests for any command you add. Also, test only pull requests are greatly appreciated.



Apache 2.0


  • Pat Shields (Adzerk)
npm loves you