2019-08-06

在Jpa Dao层接口

使用修改@Modifying注解    需要在service类里面在相应的方法上加入@Transactional注解

key值接参数列表对象里面的值


**************************************************************************

@CacheEvict(key ="gathering.id",value ="gathering")  

public void update(Gathering gathering)

key值接参数列表的值

@CacheEvict(key ="#id",value ="gathering")   ***   @Cacheable(key ="#id",value ="gathering")

public Gathering findById(String id)

***************************************************************************

ValueOperations ops =srt.opsForValue();

String aaa = ops.get("aaa" + id);   //取出redis中的值

ops.set("aaa"+id,JsonUtils.objectToJson(articleDao.findById(id).get()),10,TimeUnit.MINUTES); //设置redis缓存 过期时间为 10分钟

******************************************************************************

redis依赖报错 把pom.xml 的版本加上

org.springframework.boot

spring-boot-starter-data-redis

2.1.6.RELEASE    //选择版本

**********************************************************************************

docker start+ name 名 启动

docker stop+name名 或 id 停止运行

docker ps  查询 正在运行的所有镜像

docker images 查看所有的镜像 

************************************************************************************

hashmap可以设置线程同步 

collections.synchronizedmap(Map map)

----------

hashmap 的工作原理,使用put(key ,value) 存值,get(key)取值

当使用put 存值的时候,会对key调用hashcode方法,返回hashcode的buket的位置来保存entry 对象

----------

hashmap 与hashset的区别

hashset 是包装了hashmap ,hashset 存入值的时候,实际上此值是以hashmap的key来进行保存

hashmap 是初始化了一个entry 数组,来实现key value的保存

hashmap的entry有四个变量:key value hash next ,next是当hash保存值时冲突,来指向下一个值

hashmap 遍历方式 keyset  map.entry

hashmap保存的顺序

第一步 对key调用hashcode 进行hash计算,获取应保存在数组中的index

第二步 查询数组中的index指向的元素是否是空,是空就添加

第三部 如果不是空,就从entry 的 next指定的元素 ,判断key是否相等,相等则替换

第四部 如果没有相等的,就将链表头的值给entry 的next变量,将元素插入entry数组

你可能感兴趣的:(2019-08-06)