在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 的版本加上
**********************************************************************************
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数组