Redis 中 set 与 hset 区别与使用

服务端语言:nodeJs;javascript

封装方法

const 	_redis = require("redis");//引入redis   
/*	注意:若是redis-server与nodejs客户端都在本地,下列可写成
 *		client = redis.createClient();不然要对括号内容进行更改*/
const	client = _redis.createClient(6379,'127.0.0.1'); //括号内容对应:端口号,主机 
client.on("error", function (err) {  
	console.log("Error :" , err);  //错误检测
});    
client.on('connect', function(){  
	console.log('Redis链接成功.');  
})    
const 	redis = (function(){
	var mod ={};
//	set  get部分	
	mod.set = function(_key, value, expire, callback){  
	    client.set(_key, value, function(err, result){  
	        if (err) {  
	            console.log(err);    
	            return;  
	        }  
	        if (!isNaN(expire) && expire > 0) {  
	            client.expire(_key, parseInt(expire));  
	        }  
	        if(callback){
	  			callback(result);  
	        }
	    }) 
	}; 
	mod.get = function(_key, callback){  
	    client.get(_key, function(err,result){  
	        if (err) {  
	            console.log(err);  
	            callback(err,null)  
	            return;  
	        }  
	        if(callback){
	  			callback(result);  
	        } 
	    })  
	};
	
	
//	查找全部的hkeys
	mod.hkeys=function(_key,eve){
		client.hkeys(_key, function (err, replies) {
			if(!err){
				eve(replies);
		    	client.quit();
			}
		});
	};
//	hset hget部分
	mod.hset = function(_key,key2,value,callback){  
		client.hset(_key,key2,value);
	}; 
	mod.hgetall = function(_key, callback){ 
		client.hgetall(_key,function(err,result){
	        if (!err) {  
	            callback(result)  
	            return;  
	        }  
		});
	};
	
	mod.hget = function(_key,key2,callback){ 
		client.hget( hashkey,_key, function(err, result){
	        if(!err){
        		callback(result); 
	        }
	        else{
	        	throw err
	        };
		} )
	};
	return mod     
})()

存取值检测 

redis.set("usern ame5","sadasdas");//set值
redis.get("usern ame5",function(result){
	console.log("get:"+result)// get:sadasdas
});


redis.hset("hash key","sadasdas",1528231340153)//hset值 
redis.hset("hash key","sadasdadds","152823134asd0153") //hset值 

redis.hget("hash key","sadasdas",function(result){
	console.log("hash key get:")
	console.log(result)//1528231340153
})
redis.hgetall("hash key",function(result){
	console.log("hash key get:")
	console.log(result)//{ sadasdas: '1528231340153',sadasdadds: '152823134asd0153' }

})
redis.hkeys("hash key",function(result){ 
	console.log("hash key keys:"+result)//hash key keys:sadasdas,sadasdadds
})

我的结论

假设新开一所学校java

set/get方法存储的是单个数据,至关于往学校里面塞入一个学生,查找的时候所有集合到一块儿,点名找出来。node

hset/hget 存储的是一个数据对象,至关于在学校塞入学生的时候,肯定好了班级,查找的时候,先找到班级再找学生。git

对于大量数据而言 hset/hget 要优于 set/get。github

网上都是瞎扯淡,只有权威值得相信:https://github.com/NodeRedis/node_redisredis

相关文章
相关标签/搜索