(四)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支持的键值数据类型如下字符串.列表 ...
随机推荐
- 小福bbs-凡事预则立
[小福bbs-凡事预则立] 1.冲刺的时间计划安排(冲刺时间为期七天,安排在2019-11-3--2019-11-14之间) 冲刺的时间 计划安排 2019.11.7 开会,安排具体工作 2019.1 ...
- java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.FilterDispatcher
老版本的Struts2升级,启动报的错. org.apache.struts2.dispatcher.FilterDispatcher 是web.xml中对struts2 2.2版本的接入点的类. ...
- 002-01-RestTemplate-配置使用说明
一.概述 Spring RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写 ...
- QML使用MouseArea
1.普通使用 MouseArea { anchors.fill: parent hoverEnabled: true//为true才会触发进入信号 onClicked: { } onEntered: ...
- Zabbix4.x 历史数据存储到Elasticsearch7.x
一.简介 Zabbix 3.4.6 版本开始支持历史数据存储到 Elasticsearch, 早就想测试这个功能,最近有个需求需保存 zabbix 的历史数据上达十亿条,因此决定测试这功能的实用性,事 ...
- pyenv管理python版本
一.介绍 pyenv 是 Python 版本管理工具. pyenv 可以改变全局的 Python 版本,安装多个版本的 Python, 设置目录级别的 Python 版本,还能创建和管理 virtua ...
- SpringMvc+ajax跨域请求时,出现options类型的请求并返回403的解决方案
在使用 $.ajax({ url:'http://127.0.0.1:8081/rest/ccxxx/xxxx', type:'POST', dataType:"json", co ...
- 跟我学Shiro目录贴
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2018398 扫一扫,关注我的公众号 购买地址 历经三个月左右时间,<跟我学Shiro&g ...
- iOS-收起键盘
1 除了调用相应控件的resignFirstResponder方法外,还有另外三种办法: 2 重载UIViewController中的touchesBegin方法,然后在里面执行在[self.view ...
- git 提交大小超过100M
#MsnDialog.ad, #MyMoveAd, #QQ_Full, #ad-SNSSplashAd, #ad6cn, #adBody07, #adLeftFloat, #adRightFloat, ...