(四)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支持的键值数据类型如下字符串.列表 ...
随机推荐
- Cesium中的坐标系及转换
在我们开始学习Entity之前,我们首先需要先学习下Cesium中的坐标系,Cesium中有多个坐标系,在进行添加Entity时经常会使用到. 一.坐标系介绍 我们先来列举下Cesium中的坐标系:W ...
- Ionic4.x Theming(主题) 增加内置主题 颜色 修改内置组件默认样式 修改底部 Tabs 背景颜色以及按钮颜色
1.Ionic4.x Theming(主题) Ionic4.x 修改主题颜色的话需要在 src/theme/variables.scss 文件中修改. https://ionicframework.c ...
- osg fbx 绘制坐标轴、控制模型影藏与显示
int main() { osg::ref_ptr<osgViewer::Viewer> viewer1 = new osgViewer::Viewer; osg::ref_ptr< ...
- 123457123456#0#-----com.threeapp.BabyLeaningEnglish01----精品儿童学英语
com.threeapp.BabyLeaningEnglish01----精品儿童学英语
- EXCEL生成SQL脚本
有如下一张数据库表: 当然,Excel也是这个样子的,然后需要通过Excel的命令实现如下的脚本: insert into student(name,age) values('张三',15); 实现的 ...
- .NET CORE添加引用包
一 .添加服务端引用 1.直接右键添加项目引用,添加后再csproj文件中如下②,也可以直接用这种格式写入csproj文件中 2.直接右键添加DLL引用,添加后再csproj文件中如下③,也可以直接用 ...
- 【Leetcode_easy】744. Find Smallest Letter Greater Than Target
problem 744. Find Smallest Letter Greater Than Target 题意:一堆有序的字母,然后又给了一个target字母,让求字母数组中第一个大于target的 ...
- Robot:robot如何连接Oracle数据库(windows+linux)
1.需要安装基础数据库 pip install robotframework-databaselibrary 2.下载并安装对应版本的cx_Oracle,注意要和Oracle版本.系统位数.pytho ...
- 最新 创蓝253java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.创蓝253等10家互联网公司的校招Offer,因为某些自身原因最终选择了创蓝253.6.7月主要是做系统复习.项目复盘.Le ...
- PHP反射API的使用、体会、说明
最近开发支付宝相关功能的时候,由于支付宝的SDK比较落伍,不支持composer的方式加载,使用三方的composer SDK又觉得不放心 为了简化代码的调用方式,使用PHP的反射类针对支付宝官方SD ...