博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis 中 set 与 hset 区别与使用
阅读量:7187 次
发布时间:2019-06-29

本文共 2590 字,大约阅读时间需要 8 分钟。

hot3.png

服务端语言: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。

网上都是瞎扯淡,只有权威值得相信:

转载于:https://my.oschina.net/u/3797834/blog/1831269

你可能感兴趣的文章
org.apache.catalina.LifecycleException异常的处理
查看>>
Deque的部分成员函数 解析,关于这个类,百度有很多解析,唯独没有其函数介绍...
查看>>
【转】APUE学习1:迈出第一步,编译myls.c
查看>>
win8.1 64 安装用友T3+sql2005-64步骤
查看>>
JSP动作--JSP有三种凝视方式
查看>>
经典排序算法 - 高速排序Quick sort
查看>>
EasyUI入门:怎样引入及简单使用
查看>>
apache2.2 虚拟主机配置
查看>>
【转】Ubuntu下配置samba服务器--不错
查看>>
Pyqt Smtplib实现Qthread多线程发送邮件
查看>>
17 Great Machine Learning Libraries
查看>>
Java之this详解
查看>>
关于Oracle SQL/82标准和SQL/92标准
查看>>
第一次启动MySQL时报错
查看>>
ceph存储之查找对象
查看>>
SmoothProgressBar
查看>>
ODAC(V9.5.15) 学习笔记(四)TMemDataSet (2)
查看>>
Spring JdbcTemplate的queryForList(String sql , Class<T> elementType)易错使用--转载
查看>>
dedecms /member/mtypes.php SQL Injection Vul
查看>>
【C语言学习】C语言功能
查看>>