(四)Redis之哈希
一、哈希常用命令
- 赋值
- 取值
- 删除
- 增加数字
- 判断字段是否存在
- 获取hash属性个数
- 获取hash所有属性名称
1.2.3 赋值取值和删除
package myRedis01; import java.util.HashMap;
import java.util.Map; import org.junit.After;
import org.junit.Test; import redis.clients.jedis.Jedis; public class JedisTest { Jedis jedis=new Jedis("127.0.0.1",6379); // 创建客户端 设置IP和端口 /**
* 赋值取值和删除
*/
@Test
public void getAndSetAndDel() {
/**
* 单个赋值
*/
jedis.hset("用户表", "userName", "张三");
String userName=jedis.hget("用户表", "userName");
System.out.println(userName); jedis.hdel("用户表", "userName");
System.out.println(jedis.hget("用户表", "userName")); /**
* 多个一起赋值
*/
Map<String,String> hash=new HashMap<String,String>();
hash.put("password", "123");
hash.put("sex", "男");
jedis.hmset("用户表", hash);
System.out.println(jedis.hmget("用户表", "password","sex")); } @After
public void close() {
jedis.close();
} }

4. 增加数字
/**
* 增加数字
*/
@Test
public void add() {
jedis.hset("用户表", "age", "5");
jedis.hincrBy("用户表","age", 2);
System.out.println("增加后的age为:"+"\t"+jedis.hget("用户表","age"));
}

5. 判断字段是否存在
@Test
public void exist() {
jedis.hset("用户表1", "userName", "admin");
boolean flag1=jedis.hexists("用户表1", "userName");
boolean flag2=jedis.hexists("用户表1", "password");
System.out.println(flag1);
System.out.println(flag2);
}

6.7. 获取hash属性个数和所有属性名称和值
/**
* 获取hash属性个数和所有属性名称
*/
@Test
public void getLengthsAndAttribute() {
/**
*获取长度
*/
jedis.hset("用户表2", "userName", "admin");
jedis.hset("用户表2", "password", "123");
jedis.hset("用户表2", "age", "20");
long Length=jedis.hlen("用户表2");
System.out.println("长度为"+"\t"+Length); /**
* 获取所有属性名称
*/
Set<String> sets=jedis.hkeys("用户表2"); for(String str:sets) {
System.out.println(str);
}
System.out.println("==================="); /**
* 获取所有属性的值
*/
List<String> strList=jedis.hvals("用户表2");
System.out.println(strList); }

(四)Redis之哈希的更多相关文章
- redis使用哈希槽实现集群
Redis Cluster集群 一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Re ...
- Redis系列四 Redis常见配置
redis.conf常见配置 参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2. ...
- Redis 详解 (四) redis的底层数据结构
目录 1.演示数据类型的实现 2.简单动态字符串 3.链表 4.字典 5.跳跃表 6.整数集合 7.压缩列表 8.总结 上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中, ...
- 进阶的Redis之哈希分片原理与集群实战
前面介绍了<进阶的Redis之数据持久化RDB与AOF>和<进阶的Redis之Sentinel原理及实战>,这次来了解下Redis的集群功能,以及其中哈希分片原理. 集群分片模 ...
- 四. Redis事务处理
Redis目前对事务的支持还是比较简单,Redis能保证一个Client发起的事务中的命令可以连续执行,而中间不会插入其他Client的命令:当一个Client在连接中发起一个multi命令的时候,这 ...
- 理解 Redis(5) - 哈希值
哈希值存储示意图:首先, 我想先认真理解一下哈希值的数据结构:前面讲过, redis 存储的是键值对, 键永远都是可以打印的 ASCII 码, 值是字符串, 或者是以其他形式包裹的字符串. 上两节介绍 ...
- 【转】Redis学习---哈希结构内存模型剖析
[原文]https://www.toutiao.com/i6594624365906625032/ 概述 在前文<Redis字符串类型内部编码剖析>之中已经剖析过 Redis最基本的 St ...
- Redis之哈希类型命令
Hash(哈希) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿 ...
- centos7.x下环境搭建(四)—redis安装
redis介绍 redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串.列表 ...
随机推荐
- Java工作笔记:工作中使用JNA调用C++库的一些细节(转载)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zjutzmh/article/detai ...
- String,StringBuilder 和StringBuffer区别
1. String 和字符串缓冲区的区别是: String 是一个不可变的字符序列 , 而字符串缓冲区是可变的 2. StringBuffer 是一个线程安全的可变字符序列 ; 线程安全对应的效率低 ...
- js Map对象的用法
第一篇: Map: Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: var names = ['Michael ...
- PaddlePaddle实现线性回归
在本次实验中我们将使用PaddlePaddle来搭建一个简单的线性回归模型,并利用这一模型预测你的储蓄(在某地区)可以购买多大面积的房子.并且在学习模型搭建的过程中,了解到机器学习的若干重要概念,掌握 ...
- 【421】C语言输入输出函数说明
目录: sscanf & sprintf scanf & printf getchar & putchar fgets & fputs fscanf & fpr ...
- 微信小程序之对象转化为数组
对象转成数组方式一(数组里面是一个个number类型的元素) let dictObject= { , , , , }; // 对象转成数组方式一 var createArr = [] for (let ...
- rdd的元素打印
在集群上运行spark程序时,rdd的操作都在worker机上,因此输出rdd的元素将在worker机的标准输出上进行,驱动节点上不会运行,故直接才程序中写如下代码 rdd.foreach(print ...
- mysql正则替换某个字段值里面的某个字符串
sql语句如下: UPDATE `ccvms_video` SET title=REPLACE(title, "最", "相对") WHERE title LI ...
- wordpress通过$wpdb获取一个分类下所有的文章
在wordpress程序根目录下新建一个php文件,粘贴下面的代码 如下面的代码注释,修改$CID这个分类id,就可以获取这个分类下的文章了.这个查询需要联合三个表wp_posts.wp_term_r ...
- pycharm操作Django基础部分
原文地址:https://www.cnblogs.com/feixuelove1009/p/5823135.html