博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis学习笔记(3)-Hash
阅读量:6157 次
发布时间:2019-06-21

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

package cn.com;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set;import ch.qos.logback.core.net.SyslogOutputStream;import redis.clients.jedis.Jedis;public class Redis_Hash {	public static Jedis redis = new Jedis("localhost", 6379);// 连接redis		public static void main(String [] args){		hdel();	}		/**	 * HDEL key field [field ...]	 * 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。	 * */	public static void hdel(){		redis.flushDB();//清除数据		 		redis.hset("user", "id", "1");		redis.hset("user", "name", "liliang");		redis.hset("user", "age", "18");		System.out.println("==========删除key前数据===========");		List
users=redis.hvals("user"); for(String u:users){ System.out.println(u); } System.out.println("==========删除key后数据==========="); redis.hdel("user","age");//删除key;可以是多个key List
users2=redis.hvals("user"); for(String u:users2){ System.out.println(u); } } /** * 返回哈希表 key 中所有域的值。 * 返回值:key 不存在返回空 * */ public static void hvals(){ redis.flushDB();//清除数据 redis.hset("user", "id", "1"); redis.hset("user", "name", "liliang"); redis.hset("user", "age", "18"); List
users=redis.hvals("user"); for(String u:users){ System.out.println(u); } } /**将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。 *若域 field 已经存在,该操作无效。 *如果 key 不存在,一个新哈希表被创建并执行 HSETNX 命令 **/ public static void hsetnx(){ redis.flushDB();//清除数据 redis.hsetnx("user","age", "18"); String age1=redis.hget("user", "age"); System.out.println("age1:"+age1); //key=user;field=age ;存在在这是则无效 redis.hsetnx("user","age", "19"); String age2=redis.hget("user", "age"); System.out.println("age2:"+age2); } /** *为哈希表 key 中的域 field 的值加上增量 increment 。 *增量也可以为负数,相当于对给定域进行减法操作。 *如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。 *如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。 *对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。 *本操作的值被限制在 64 位(bit)有符号数字表示之内。 * */ public static void hincrby(){ redis.flushDB();//清除数据 //field 不存在初始化field 为0 redis.hincrBy("user", "age", 18); String age1=redis.hget("user", "age"); System.out.println("age1:"+age1); //对age field 进行crby 1操作 redis.hincrBy("user", "age", 1); String age2=redis.hget("user", "age"); System.out.println("age1:"+age2); } /** * 方法与hincrBy 用户法一样; * 此方法是操作Float 类型数据 * * */ public static void hincrByFloat(){ redis.flushDB();//清除数据 //field 不存在初始化field 为0 redis.hincrByFloat("user", "age", 18); String age1=redis.hget("user", "age"); System.out.println("age1:"+age1); //对age field 进行crby 1操作 redis.hincrByFloat("user", "age", 1.5); String age2=redis.hget("user", "age"); System.out.println("age1:"+age2); } /** * hset 将哈希表 key 中的域 field 的值设为 value 。 * hget 返回哈希表 key 中给定域 field 的值。 * hgetAll 返回哈希表 key 中,所有的域和值。 * * */ public static void hset_hget_hgetAll(){ redis.flushDB();//清除数据 redis.hset("user", "id", "1"); redis.hset("user", "name", "liliang"); redis.hset("user", "age", "18"); System.out.println("==========hget============"); System.out.println(redis.hget("user", "id")); System.out.println(redis.hget("user", "name")); System.out.println(redis.hget("user", "age")); System.out.println("=========hgetAll==========="); Map
map=redis.hgetAll("user"); System.out.println("id:"+map.get("id")); System.out.println("name:"+map.get("name")); System.out.println("age:"+map.get("age")); } /** * HMSET key field value [field value ...] * 同时将多个 field-value (域-值)对设置到哈希表 key 中。 * 此命令会覆盖哈希表中已存在的域。 * 如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作。 * */ public static void hmset_hmget(){ redis.flushDB();//清除数据 Map
map=new HashMap
(); map.put("id","1"); map.put("name","liliang"); map.put("age","18"); redis.hmset("user", map); System.out.println("======HMGET=========="); List
list=redis.hmget("user","id","name","age"); for(String s:list){ System.out.println("s:"+s); } } /** * HLEN key * 返回哈希表 key 中域的数量。 * */ public static void hlen(){ redis.flushDB();//清除数据 Map
map=new HashMap
(); map.put("id","1"); map.put("name","liliang"); map.put("age","18"); redis.hmset("user", map); Long length=redis.hlen("user"); System.out.println("length:"+length); } /** * HKEYS key *返回哈希表 key 中的所有域。 * */ public static void hkeys(){ redis.flushDB();//清除数据 Map
map=new HashMap
(); map.put("id","1"); map.put("name","liliang"); map.put("age","18"); redis.hmset("user", map); Set
set=redis.hkeys("user"); for(String s:set){ System.out.println("s:"+s); } }}

  

转载于:https://www.cnblogs.com/zuolun2017/p/5601542.html

你可能感兴趣的文章
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>
jqgrid滚动条宽度/列显示不全问题
查看>>
在mac OS10.10下安装 cocoapods遇到的一些问题
查看>>
css技巧
查看>>
Tyvj 1728 普通平衡树
查看>>
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>
转:Vue keep-alive实践总结
查看>>
深入python的set和dict
查看>>
Android JSON数据解析
查看>>
DEV实现日期时间效果
查看>>
java注解【转】
查看>>
centos 下安装g++
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
jQuery最佳实践
查看>>
centos64i386下apache 403没有权限访问。
查看>>