工作web记录2016-11

来源:互联网 发布:微商的发展前景数据 编辑:程序博客网 时间:2024/05/22 06:26

1: spring data redis 带条件查询解决方法

 由:从redis中取出数据 需要如同 where title = "我的团长我的团" 方式  (1) http://docs.spring.io/spring-data/redis/docs/1.7.4.RELEASE/reference/html/#redis.repositories.indexes (2) 建立bean 
@RedisHash("persion")  public class Persion implements Serializable {    private static final long serialVersionUID = 1L;    @Id    String id;    @Indexed    String firstname;    @Indexed    String lastname;    }

(3) 建立Dao

public interface PersionRepository extends CrudRepository<Persion, String> {    List<Persion> findByFirstnameAndLastname(String firstname,String lastname);}

(4)测试代码

public void findByFirstnameAndLastname(String firstname,String lastname) {    Persion persion = new Persion();    persion.setId("3");    persion.setFirstname("xingkong3");    persion.setLastname("shieji3");    Persion persion2 = new Persion();    persion2.setId("4");    persion2.setFirstname("xingkong4");    persion2.setLastname("shijie4");    persionRepository.save(persion);    persionRepository.save(persion2);    List<Persion> list = persionRepository.findByFirstnameAndLastname("xingkong3", "shieji3");    System.out.println(list);}

2: web项目集成redis

  1. 加入maven包
 <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-redis</artifactId>        </dependency>
  1. 加入配置文件
spring.redis.database=0spring.redis.host=localhostspring.redis.pool.max-active=8spring.redis.pool.max-idle=8spring.redis.pool.max-wait=-1spring.redis.pool.min-idle=0spring.redis.port=6379spring.redis.timeout=0

3:list去除重复的方法

1:2个list去除重复的方法
listA.removeAll(listB);
注:当2个list的元素是对象的时候,当对象中的当且仅当name不一样的时候删除,其他的元素的不一样的时候认为他们是一样的,此时可以复写对象中的equals hashcode方法实现
2: 单个list去除内部一致元素方法

 HashSet<String> setTemp = new HashSet<String>(list);        list.clear();        list.addAll(setTemp)

4 :springmvc多文件上传 即使没有传文件 MultipartFile[] 数据不为空

5:java 占位符操作 生成静态模板

   Matcher m = Pattern.compile("\\{(\\d)\\}").matcher(str);                while (m.find()) {                    str = str.replace(m.group(), arr.get(Integer.parseInt(m.group(1))));                }

6 : mysql 查询问题 date类型数据为条件update

这里写图片描述

//使用此条件OKUPDATE wifi_device_log_count SET duration = " + staConnInterval + " WHERE DATE_FORMAT(TIMESTAMP, '%Y.%m.%d') = '" + day + "'//使用此条件 每次更新timeout errorUPDATE wifi_device_log_count SET duration = " + staConnInterval + " WHERE TIMESTAMP = '" + day + "'

7: java RMI 远程方法调用 传输的Java对象数据接受 必须版本一致(属性方法,类名,包名)

8: 2.x版本elasticsearch做条件删除总结

出处:https://www.elastic.co/guide/en/elasticsearch/plugins/2.0/plugins-delete-by-query.html
原因:1:elasticsearch文档中只要有一点的增删改,此文档的所有的索引都要重建,重建索引(可能)需要2分钟
2 : 2.x版本之前的delete-by-query存在bug
3 : 2.x版本之后delete-by-query以一个插件形式存在
4 :不安装此插件delete-by-query无法使用

目的: 带条件批量删除es中的数据
1 :进入es的安装目录的bin目录下
执行命令:./plugin install delete-by-query
2 : 进入es的安装插件的目录
/usr/share/elasticsearch/plugins/
会看到一个delete-by-query目录说明插件已经装上了
3 : 此时需要重启所有的es节点
4 :删除语法
eg: 删除eventlog中11月中旬的 站点为77的数据
curl -XDELETE ‘localhost:9200/eventlog-2016.11.1*/fluentd/_query?pretty’ -d’
{
“query”: {
“term”: {
“SiteId”: 77
}
}
}

0 0
原创粉丝点击