nodejs
基本使用
const Redis = require('ioredis')
const redis = {
port: 6379,
host: 'localhost',
family: 4,
db: 0
}
module.exports = new Redis(redis)
redis.keys('*').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.del('test').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.flushall().then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.type('test').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.expire('test', 60).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
字符串
const redis = require('./redis/db')
redis.set('test', 'haha').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.set('exp', '123', 'EX', 60).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.setex('exp2', 60, '过期时间60').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.append('str', 'xixi')then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.get('str').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.incr('num').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
列表
redis.rpush('arr', 'a').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.lpush('arr', 'b').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.rpop('arr').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.lpop('arr').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.lrem('arr', 0, 'mk1').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.lrange('arr', 0, 2).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.linsert('arr', 'BEFORE', 'mk0', 'mankeng').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.lset('arr', 0, 'mq').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
无需集合
redis.sadd('s', '无序集合').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.srem('s', '无序集合').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.smembers('s').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
有序集合
redis.zadd('ss', [1, 2]).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.zrange('ss', 0, -1).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.zrem('ss', '2').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.zremrangebyscore('ss', 0, 10).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
哈希
redis.hset('user', 'age', 18, 'name', 'mankeung').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.hgetall('user').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.hget('user', 'name').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.hmget('user', ['age', 'name']).then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.hvals('user').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
redis.hdel('user', 'age').then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
发布订阅
const redis = require('./redis/db')
redis.publish('news', 'Hello world!')
redis.publish('music', 'Hello again!')
const redis = require('./redis/db')
redis.subscribe('news', 'music')
redis.on('message', function (channel, message) {
console.log('Receive message %s from channel %s', message, channel)
})
redis.on('messageBuffer', function (channel, message) {
})
管道流水线
const redis = require('./redis/db')
const pipeline = redis.pipeline()
pipeline.set('msg', 'mankeung').get('msg').exec().then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})
事务
const redis = require('./redis/db')
const multi = redis.multi()
multi.set('foo').set('foo', 'new value').exec().then(data => {
console.log(data)
}).catch(err => {
console.log(err)
})