isotropy-redis v0.0.16
Isotropy client-side Library for Redis
Initialization
const objects = [
{
key: "site1",
value: "https://www.google.com"
},
{
key: "site2",
value: "https://www.apple.com",
expiry: 1530800000000
},
{
key: "site3",
value: "https://www.amazon.com"
},
{
key: "site4",
value: "https://www.twitter.com"
},
{
key: "user1",
value: "jeswin"
},
{
key: "user2",
value: "deeps"
},
{
key: "user3",
value: "tommi"
},
{
key: "countries",
value: ["vietnam", "france", "belgium"]
},
{
key: "total",
value: 1000
},
{
key: "user:99",
value: {
username: "janie",
country: "India",
verified: 1
}
}
];
db.init("testdb", objects);API
Gets all keys
const conn = await db.open("testdb");
const result = await conn.keys("*");
result.should.deepEqual([
"site1",
"site2",
"site3",
"site4",
"user1",
"user2",
"user3",
"countries",
"total",
"user:99"
]);Gets all keys starting with site
it(``, async () => {
const conn = await db.open("testdb");
const result = await conn.keys("site*");
result.should.deepEqual(["site1", "site2", "site3", "site4"]);
});Gets whether a key exists
const conn = await db.open("testdb");
const result = await conn.exists("site1");
result.should.be.true();Renames a key
const conn = await db.open("testdb");
const result = await conn.rename("site4", "social1");Sets a value
const conn = await db.open("testdb");
await conn.set("site5", "https://www.looptype.com");Replaces a value
const conn = await db.open("testdb");
await conn.set("site4", "https://www.looptype.com");Executes a transaction
const conn = await db.open("testdb");
const multi = await conn.multi();
await multi.set("site4", "https://www.looptype.com");
await multi.incr("total");
await multi.incr("total");
const result = await conn.exec();
result.should.deepEqual(["OK", 1001, 1002]);Gets a value
const conn = await db.open("testdb");
const result = await conn.get("site4");Increments a value by one
const conn = await db.open("testdb");
const result = await conn.incr("total");
result.should.equal(1001);Increments a value by N
const conn = await db.open("testdb");
const result = await conn.incrby("total", 10);
result.should.equal(1010);Increments a value by Float N
const conn = await db.open("testdb");
const result = await conn.incrbyfloat("total", 10.45);
result.should.equal(1010.45);Decrements a value by one
const conn = await db.open("testdb");
const result = await conn.decr("total");
result.should.equal(999);Decrements a value by N
const conn = await db.open("testdb");
const result = await conn.decrby("total", 10);
result.should.equal(990);Gets the length of a string
const conn = await db.open("testdb");
const length = await conn.strlen("user1");
length.should.equal(6);Removes a value
const conn = await db.open("testdb");
await conn.del("site4");Sets a value with expiry
const conn = await db.open("testdb");
await conn.set("site5", "https://www.looptype.com", 10);Sets an expiry
const conn = await db.open("testdb");
await conn.expire("site1", 10);Creates a list
const conn = await db.open("testdb");
const result = await conn.rpush("fruits", ["apple", "mango", "pear"]);
result.should.equal(3);Pushes items to an existing list
const conn = await db.open("testdb");
const result = await conn.rpush("countries", ["bulgaria", "sweden"]);
result.should.equal(5);Prepends items to a list
const conn = await db.open("testdb");
await conn.lpush("countries", ["bulgaria", "sweden"]);Gets an item at index
const conn = await db.open("testdb");
const result = await conn.lindex("countries", 1);
result.should.deepEqual("france");Sets an item at index
const conn = await db.open("testdb");
const result = await conn.lset("countries", 1, "thailand");Gets a list
const conn = await db.open("testdb");
const result = await conn.lrange("countries");
result.should.deepEqual(["vietnam", "france", "belgium"]);Gets a list range
const conn = await db.open("testdb");
const result = await conn.lrange("countries", 1, 2);
result.should.deepEqual(["france", "belgium"]);Removes from a list
const conn = await db.open("testdb");
const result = await conn.lrem("countries", "belgium");Trims a list
const conn = await db.open("testdb");
const result = await conn.ltrim("countries", 1, 2);Gets the length of a list
const conn = await db.open("testdb");
const result = await conn.llen("countries");
result.should.equal(3);Creates a hash
const conn = await db.open("testdb");
await conn.hmset("user:100", {
username: "jeswin",
country: "India",
verified: 1
});Merges into an existing hash
const conn = await db.open("testdb");
await conn.hmset("user:99", { city: "Bombay", blocked: 1 });Creates a hash with a single field
const conn = await db.open("testdb");
await conn.hset("user:99", "city", "Bombay");Reads fields of a hash
const conn = await db.open("testdb");
const result = await conn.hmget("user:99", ["username", "verified"]);
result.should.deepEqual({ username: "janie", verified: 1 });Reads a single field from a hash
const conn = await db.open("testdb");
const result = await conn.hget("user:99", "username");
result.should.equal("janie");Reads all fields of a hash
const conn = await db.open("testdb");
const result = await conn.hgetall("user:99");
result.should.deepEqual({
username: "janie",
country: "India",
verified: 1
});Increments a field in a hash by N
const conn = await db.open("testdb");
const result = await conn.hincrby("user:99", "verified", 2);
result.should.equal(3);Increments a field in a hash by float N
const conn = await db.open("testdb");
const result = await conn.hincrbyfloat("user:99", "verified", 2.5);
result.should.equal(3.5);Scans keys
const conn = await db.open("testdb");
const result1 = await conn.scan(0, "*", 3);
const result2 = await conn.scan(1, "*", 3);
result1.should.deepEqual([2, ["site1", "site2", "site3"]]);
result2.should.deepEqual([3, ["site4", "user1", "user2"]]);Scans a set of keys with pattern
const conn = await db.open("testdb");
const result1 = await conn.scan(0, "site*");
result1.should.deepEqual([0, ["site1", "site2", "site3", "site4"]]);Scans a set of keys with pattern and count
const conn = await db.open("testdb");
const result1 = await conn.scan(0, "site*", 3);
const result2 = await conn.scan(1, "site*", 3);
result1.should.deepEqual([2, ["site1", "site2", "site3"]]);
result2.should.deepEqual([0, ["site4"]]);Scans a set of keys with pattern and large count
const conn = await db.open("testdb");
const result1 = await conn.scan(0, "site*", 1000);
result1.should.deepEqual([0, ["site1", "site2", "site3", "site4"]]);