Redis的集合和列表都可以存储多个字符串,它们之间的不同在于,列表可以存储多个不同的字符串,而集合则通过使用散列来保证自己存储的每个字符串都是各不相同的。包含字符串的无序收集器(unordered collection),并且被包含的每个字符串都是独一无二、各不相同的。
结构的读写:
添加、读取、移除单个元素
检查一个元素是否存在于集合中
计算交集、并集、差集
从集合中随机获取元素
精通Hibernate
今天去公司上班了,公司后台框架是hibernate+springMvc,虽然之前看过hibernate,但是没有在实际的开发过程中用到,很多都忘记了,就准备看孙卫琴的《精通Hibernate》。
Synchronized同步语句块
用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个长时间的任务,那么B线程则必须等待较长时间。在这样的情况下可以使用synchronized同步语句块来解决。
Synchronized同步方法
“非线程安全”其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是“脏读”,也就是收到的数据其实是被更改过的。而“线程安全”就是以或得的实例变量的值是经过同步处理的,不会出现脏读的现象。
Redis数据类型--Hash(哈希表)
Redis的散列可以存储多个键值对之间的映射。和字符串一样,散列存储的值既可以是字符串又可以是数字值,并且用户同样子可以对散列存储的数字执行自增操作或者自减操作。
结构的读写:
添加、获取、移除单个键值对
获取所有的键值对