小编BkS*_*ouX的帖子

Spring Redis - 主条目到期后索引未删除

我正在使用Spring Data Repository保存新条目.每个条目我的TTL为10秒.

当我保存带索引的条目时,这是我在Redis中得到的

127.0.0.1:6379> keys *
1) "job:campaignId:aa"
2) "job:a6d6e491-5d75-4fd0-bd8e-71692f6d18be"
3) "job:recipient:dd"
4) "job:a6d6e491-5d75-4fd0-bd8e-71692f6d18be:phantom"
5) "job:listId:cc"
6) "job:accountId:bb"
7) "job"
8) "job:a6d6e491-5d75-4fd0-bd8e-71692f6d18be:idx"
Run Code Online (Sandbox Code Playgroud)

到期后,我仍然有数据:

127.0.0.1:6379> keys *
1) "job:campaignId:aa"
2) "job:recipient:dd"
3) "job:listId:cc"
4) "job:accountId:bb"
5) "job"
6) "job:a6d6e491-5d75-4fd0-bd8e-71692f6d18be:idx"
Run Code Online (Sandbox Code Playgroud)

没有任何TTL.

他们为什么不删除自己?我怎么能这样做?

spring redis spring-data spring-data-redis

9
推荐指数
1
解决办法
3689
查看次数

使用汇总生成打字稿定义文件

我正在尝试使用汇总 js 来构建我的打字稿项目,但我不知道如何生成定义文件以及如何将它们自动包含在 dist 文件中。

有谁知道怎么做?

这是我的 rollup.config.js

import typescript from "rollup-plugin-typescript";
import handlebars from "rollup-plugin-handlebars";
import babel from 'rollup-plugin-babel';

export default {
  entry: 'src/generator.ts',
  format: 'cjs',
  plugins: [
    typescript(),
    handlebars(),
    babel()
  ],
  dest: 'dist/bundle.js'
};
Run Code Online (Sandbox Code Playgroud)

我正在使用默认的 ts 配置,但这与声明 = true 相同。

编辑 :

还尝试使用 Webpack :

    module.exports = {
      context: __dirname + '/src',
      entry: {
        index: './generator'
      },
      output: {
        path: __dirname + '/build',
        publicPath: '/',
        filename: 'generator.js'
      },
      resolve: {
        root: __dirname,
        extensions: ['', '.ts', '.js']
      },
      module: …
Run Code Online (Sandbox Code Playgroud)

rollup typescript webpack typescript-typings

8
推荐指数
2
解决办法
1万
查看次数

JAXB - SAXParseException无法找到元素的声明

尝试使用给定的xsd验证对象时遇到问题.这些类是从xsd生成的.

SchemaFactory factory = SchemaFactory
                .newInstance("http://www.w3.org/2001/XMLSchema");
Schema schema = factory.newSchema(getClass().getResource("/xsd/test.xsd"));
JAXBContext context = JAXBContext.newInstance(aClass);
Unmarshaller u = context.createUnmarshaller();
u.setSchema(schema);
Object anObject = u.unmarshal(new StreamSource(new StringReader(
                MESSAGE)), aClass);
Run Code Online (Sandbox Code Playgroud)

这是异常消息

[org.xml.sax.SAXParseException:cvc-elt.1:找不到元素'ACCESREFUSE'的声明.

这是XSD:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:include schemaLocation="./include/CJCommon.xsd"/>
 <xs:element name="ACCESREFUSE">
<xs:complexType>
  <xs:sequence maxOccurs="1" minOccurs="1">
    <!-- Entete -->
    <xs:element maxOccurs="1" minOccurs="1" ref="IDOper"/>
    <xs:element maxOccurs="1" minOccurs="1" ref="DateEvt"/>
    <xs:element maxOccurs="1" minOccurs="1" ref="IDEvt"/>
    <xs:element maxOccurs="1" minOccurs="1" ref="IDJoueur"/>
    <xs:element maxOccurs="1" minOccurs="1" ref="HashJoueur"/>
    <xs:element maxOccurs="1" minOccurs="1" ref="IDSession"/>
    <xs:element maxOccurs="1" minOccurs="1" ref="IPJoueur"/>
    <xs:element maxOccurs="1" minOccurs="0" ref="IDCoffre"/>
    <!-- …
Run Code Online (Sandbox Code Playgroud)

java xml parsing jaxb xml-parsing

6
推荐指数
1
解决办法
2万
查看次数

Mongodb 使用 Spring Data 读取查询非常慢,使用 Morphia 读取查询速度非常快

我想将我的项目从 Morphia 转换为 Spring Data,但是 Spring Data 的一些基础查询非常慢。

例如:

@Override
public List<PTDefaultBlacklistContact> findByBlacklistId(ObjectId defaultBlacklistId, int limit, int offset, String sortBy) {
    Query query = Query.query(Criteria.where("blacklistId").is(defaultBlacklistId));

    if (limit != 0)
        query.limit(limit);

    if (offset != 0)
        query.skip(offset);

    if (StringUtils.hasLength(sortBy))
        query.with(new Sort(sortBy));


    log.debug("findByBlacklistId query={}", query);
    return mongoOperations.find(query, PTDefaultBlacklistContact.class);
}
Run Code Online (Sandbox Code Playgroud)

大约需要 2 分钟

还有吗啡

@Override
public List<PTDefaultBlacklistContact> findByBlacklistId(ObjectId defaultBlacklistId, int limit, int offset, String sortBy) {
    Query<PTDefaultBlacklistContact> q = createQuery().disableValidation().filter("blacklistId", defaultBlacklistId).limit(limit)
        .offset(offset);
    if (StringUtils.hasLength(sortBy)) {
        q.order(sortBy);
    }
    return q.asList();
}
Run Code Online (Sandbox Code Playgroud)

大约需要 5 秒。

我的配置是基本的,所以理解起来很奇怪。我只是在我的 …

java mongodb morphia spring-data spring-data-mongodb

5
推荐指数
1
解决办法
3694
查看次数

Spring Data Redis-监听过期事件

我想用KeyExpirationEventMessageListener监听过期事件,但找不到示例。

有人知道如何使用Spring Boot 1.4.3和Spring Data Redis吗?

我目前正在这样做

    JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost");
    this.jedis = pool.getResource();
    this.jedis.psubscribe(new JedisPubSub() {
        @Override
        public void onPMessage(String pattern, String channel, String message) {
            System.out.println("onPMessage pattern " + pattern + " " + channel + " " + message);
            List<Object> txResults = redisTemplate.execute(new SessionCallback<List<Object>>() {
                public List<Object> execute(RedisOperations operations) throws DataAccessException {
                    operations.multi();
                    operations.opsForValue().get("val:" + message);
                    operations.delete("val:" + message);
                    return operations.exec();
                }
            });
            System.out.println(txResults.get(0));
        }
    }, "__keyevent@0__:expired");
Run Code Online (Sandbox Code Playgroud)

我想直接使用Spring代替Jedis。

问候

redis spring-data spring-data-redis

4
推荐指数
1
解决办法
2721
查看次数

Highcharts规格不显示

我对Highcharts测量仪有问题.实际上,它没有显示,我有一个JS错误.

TypeError: $[b.defaultSeriesType] is not a constructor highcharts.js(第159行)

我有3个标签(使用bootstrap/jquery)和另外两个饼图,这些没有问题.

我不明白,因为我刚从Highcharts网站复制了这个例子.有没有人有任何想法可能导致这个?

编辑:

这是JS的一部分

chart = new Highcharts.Chart({

                                chart : {
                                    renderTo : 'container',
                                    type : 'gauge',
                                    plotBackgroundColor : null,
                                    plotBackgroundImage : null,
                                    plotBorderWidth : 0,
                                    plotShadow : false
                                },

                                title : {
                                    text : 'Speedometer'
                                },

                                pane : {
                                    startAngle : -150,
                                    endAngle : 150,
                                    background : [
                                            {
                                                backgroundColor : {
                                                    linearGradient : {
                                                        x1 : 0,
                                                        y1 : 0,
                                                        x2 : 0,
                                                        y2 : 1
                                                    },
                                                    stops : [ …
Run Code Online (Sandbox Code Playgroud)

javascript highcharts gauge

1
推荐指数
1
解决办法
3851
查看次数