(四)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支持的键值数据类型如下字符串.列表 ...
随机推荐
- mysql插入数据时 insert IGNORE、ON DUPLICATE KEY UPDATE、replace into
转: mysql insert时几个操作DELAYED .IGNORE.ON DUPLICATE KEY UPDATE的区别 博客分类: mysql基础应用 mysql insert时几个操作DE ...
- 阶段5 3.微服务项目【学成在线】_day17 用户认证 Zuul_03-用户认证-认证服务查询数据库-查询用户接口-接口定义
1.2.4 查询用户接口 完成用户中心根据账号查询用户信息接口功能. 在ucenter这个服务里面定义查询用户信息的接口 这个接口在auth的服务的loadUserByUserName这个方法里面被调 ...
- java以逗号为分割符拼接字符串的技巧
java以逗号为分割符拼接字符串的技巧 答: 不用那么多if判断,让人思维混乱,直接到最后使用deleteCharAt方法去除最后一个逗号即可. 实现代码如下所示: StringBuffer sb ...
- ALV 颜色设置(行,列,单元格)
[转自:https://www.cnblogs.com/mingdashu/p/color_alv.html] BCALV_EDIT_03 http://blog.sina.com.cn/s/blog ...
- 国内强大的API接口文档写作网站showdoc
传送门:https://www.showdoc.cc/ 思思今天使用了一下,真是非常方便,瞬间爱上呀,哈哈. 赶紧去试试吧...
- 【Leetcode_easy】696. Count Binary Substrings
problem 696. Count Binary Substrings 题意:具有相同个数的1和0的连续子串的数目: solution1:还不是特别理解... 遍历元数组,如果是第一个数字,那么对应 ...
- iOS-textfield控制光标开始位置
// UIView *paddingView1 = [[UIView alloc] initWithFrame:CGRectMake(0, 64, self.view.frame.size.wi ...
- 简单的api实现以及动态函数调用
实现一个简单的api功能,环境python2.7 请求方法:curl http://ip:8000/?name={api中的方法名}|python -m json.tool 只需编写api的方法即可 ...
- 用MOQ来Mock静态方法的 2种方法(含Moq和Fakes的配合使用)
Moq是无法直接模拟静态方法的,解决方式有两种: 1.需要修改正式代码,在源代码中建一个新的方法把静态方法包起来,调用的时候源代码调用时调用新方法而不是原来的静态方法. 在测试的时候,Mock掉这个新 ...
- 查看某个进程PID对应的文件句柄数量,查看某个进程当前使用的文件句柄数量
================================ 1.linux所有句柄查询 lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more ...