随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)
from:http://blog.csdn.net/zzwwjjdj1/article/details/51940010
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
性能极高 ,Redis读的速度是110000次/s,写的速度是81000次/s 。
本文以String类型的数据为例.主要是设置和获取值.
封装代码
redis.js
[javascript] view plain copy
- var db = {};
- var redis = require("redis");
- var client = redis.createClient();
- client.on("error", function (err) {
- console.log("Error :" , err);
- });
- client.on('connect', function(){
- console.log('Redis连接成功.');
- })
- /**
- * 添加string类型的数据
- * @param key 键
- * @params value 值
- * @params expire (过期时间,单位秒;可为空,为空表示不过期)
- * @param callBack(err,result)
- */
- db.set = function(key, value, expire, callback){
- client.set(key, value, function(err, result){
- if (err) {
- console.log(err);
- callback(err,null);
- return;
- }
- if (!isNaN(expire) && expire > 0) {
- client.expire(key, parseInt(expire));
- }
- callback(null,result)
- })
- }
- /**
- * 查询string类型的数据
- * @param key 键
- * @param callBack(err,result)
- */
- db.get = function(key, callback){
- client.get(key, function(err,result){
- if (err) {
- console.log(err);
- callback(err,null)
- return;
- }
- callback(null,result);
- });
- }
- module.exports = db;
使用
[javascript] view plain copy
- var db = require('./redis');
- //设置值
- db.set('test2', '封装方法', '100', function(err,result){
- if (err) {
- console.log(err);
- return;
- }
- console.log('插入数据结果:', result);
- })
- //获取值
- db.get('test2', function(err,result){
- if (err) {
- console.log(err);
- return;
- }
- console.log(result);
- })