Redis(RedisTemplate)使用hash哈希
RedisTemplate配置:https://www.cnblogs.com/weibanggang/p/10188682.html
package com.wbg.springRedis.test; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.data.redis.core.RedisTemplate; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; public class TestHash {
static RedisTemplate redisTemplate = null; public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-redis.xml");
redisTemplate = applicationContext.getBean(RedisTemplate.class);
String key = "hash";
Map<String, String> map = new HashMap<>();
map.put("filed1", "value1");
map.put("filed2", "value2");
//相当于hmset
redisTemplate.opsForHash().putAll(key, map);
//相当于hset
redisTemplate.opsForHash().put(key, "filed3", "10");
//相当于hexists key filed //是否存在
boolean bool = redisTemplate.opsForHash().hasKey(key, "filed3");
System.out.println(bool);
//相当于hgetall {filed1=value1, filed2=value2, filed3=10}获取所有hash的键=值
Map map1 = redisTemplate.opsForHash().entries(key);
System.out.println(map1);
//hincrby //加5 如果是原数据是float类型会异常
redisTemplate.opsForHash().increment(key, "filed3", 5);
pring("filed3");
//hincrbyfloat 2.3
redisTemplate.opsForHash().increment(key, "filed3", 2.2);
pring("filed3");
//hvals [value1, value2, 17.199999999999999] 获取所有的value
System.out.println(redisTemplate.opsForHash().values(key));
//hkeys [filed1, filed2, filed3] //获取所有的键
System.out.println(redisTemplate.opsForHash().keys(key));
List<String> list = new ArrayList<>();
list.add("filed1");
list.add("filed2");
//hmget [value1, value2] // 获取对于的键 值 没有就返回空
System.out.println(redisTemplate.opsForHash().multiGet(key, list));
//hsetnx 不存在的时候才会设置进入true 否则返回false
System.out.println(redisTemplate.opsForHash().putIfAbsent(key,"filed4", "value4"));
//hdel 返回删除个数
System.out.println(redisTemplate.opsForHash().delete(key,"filed1","filed2","filed6")); } public static void pring(String filed) {
System.out.println(redisTemplate.opsForHash().get("hash", filed));
}
}
Redis(RedisTemplate)使用hash哈希的更多相关文章
- 第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型
第二百九十六节,python操作redis缓存-Hash哈希类型,可以理解为字典类型 Hash操作,redis中Hash在内存中的存储格式如下图: hset(name, key, value)name ...
- redis:hash哈希类型的操作
1. hash哈希类型的操作 1.1. hset key field value 语法:hset key field value 作用:把key中field域的值设为value 注:如果没有field ...
- Redis数据类型之Hash(二)
前言: Redis hash是一个String类型的field和value的映射表.添加.删除操作复杂度平均为O(1),为什么是平均呢?因为Hash的内部结构包含zipmap和hash两种.hash特 ...
- Redis系列-存储hash主要操作命令
Redis系列-存储篇hash主要操作函数小结 hash是一些列key value(field value)的映射表.常常用其存储一些对象实例.相对于把一个对象的各个字段存储为string,存储为ha ...
- Redis08——Redis五大数据类型 hash
hash Redis中的hash是一个键值对集合 同时又是一个string类型的field和value的映射表,hash特别适合用于存储对象 类似于java里面的Map<String,Objec ...
- 11.redis cluster的hash slot算法和一致性 hash 算法、普通hash算法的介绍
分布式寻址算法 hash 算法(大量缓存重建) 一致性 hash 算法(自动缓存迁移)+ 虚拟节点(自动负载均衡) redis cluster 的 hash slot 算法 一.hash 算法 来了一 ...
- 15天玩转redis —— 第四篇 哈希对象类型
redis中的hash也是我们使用中的高频数据结构,它的构造基本上和编程语言中的HashTable,Dictionary大同小异,如果大家往后有什么逻辑需要用 Dictionary存放的话,可以根据场 ...
- Hash哈希(一)
Hash哈希(一) 哈希是大家比较常见一个词语,在编程中也经常用到,但是大多数人都是知其然而不知其所以然,再加上这几天想写一个一致性哈希算法,突然想想对哈希也不是很清楚,所以,抽点时间总结下Hash知 ...
- spring data redis RedisTemplate操作redis相关用法
http://blog.mkfree.com/posts/515835d1975a30cc561dc35d spring-data-redis API:http://docs.spring.io/sp ...
随机推荐
- 二、mysql存储引擎之InnoDB
一.存储引擎简介 mysql采用业务逻辑和数据存储分离的架构,底层的存储引擎为上层的SQL层提供了支持:mysql采用的是插件的方式将存储引擎直接加载到正在运行的MySQL中,这是mysql的一个重要 ...
- MySQL批量插入多条数据方便测试
批量插入流程 数据库字段 delimiter create procedure doinsert3() begin declare i int; declare j int; ; ; ) do ins ...
- 纯手写实现HashMap
1.hashmap的实现 ① 初始化 1)定义一个Node<K, V>的数组来存放元素,但不立即初始化,在使用的时候再加载 2)定义数组初始大小为16 3)定义负载因子,默认为0.75, ...
- Error running Tomcat8: Address localhost:1099 is already in use 错误解决
摘要: 有时候运行web项目的时候会遇到 Error running Tomcat8: Address localhost:1099 is already in use 的错误,导致web项目无法运行 ...
- sql server query to get the list of column name in a table
--SQL Server 2005, 2008 or 2012: SELECT * FROM information_schema.tables --SQL Server 2000: SELECT * ...
- Grunt实例
module.exports = function(grunt) { // 项目配置 grunt.initConfig({ pkg: grunt.file.readJSON('package.json ...
- 在vue中安装使用vux
最近因为的工作的原因在弄vue,从后端弄到前端之前一直用js,现在第一次接触vue感觉还挺有意思的,就是自己太菜了,这个脑子呀....不太够用.....页面设计用了一个叫vux的东西,vux可以提供一 ...
- J2EE项目工具集(转)
1.支持重构,TDD, Debug J2EE应用和Flying Error提示的IDE a.重构:即使团队用的最多的只是Rename,Move,Extract Method等有限几个最基本的功能,但J ...
- 设计一个缓存器 ReadLock提高性能
/** * * @描述: 设计一个缓存器 ReadLock提高性能. * @作者: Wnj . * @创建时间: 2017年5月16日 . * @版本: 1.0 . */ public class C ...
- NS Simulation: Scheduling Events (examples inside)
NS Simulation: Scheduling Events Simulation time A similation system (such as NS) must have a built- ...