服务端语言:nodeJs;
封装方法
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})
个人结论
假设新开一所学校
set/get方法存储的是单个数据,相当于往学校里面塞入一个学生,查找的时候全部集合到一起,点名找出来。
hset/hget 存储的是一个数据对象,相当于在学校塞入学生的时候,确定好了班级,查找的时候,先找到班级再找学生。
对于大量数据而言 hset/hget 要优于 set/get。
网上都是瞎扯淡,只有权威值得相信: