小编m L*_*zad的帖子

db中的memoization的数据结构

什么是最好的数据结构缓存(保存/存储/记忆)这么多功能导致数据库.假设函数calc_regress在python中具有流动的定义:

def calc_regress(ind_key, dep_key, count=30):
    independent_list = sql_select_recent_values(count, ind_key)
    dependant_list = sql_select_recent_values(count, dep_key)
    import scipy.stats as st
    return st.linregress(independent_list, dependant_list)
Run Code Online (Sandbox Code Playgroud)

我看到应该使用什么样的表结构来存储memoized函数参数和结果在关系数据库中的答案?但是当我有大约500个功能的时候好像解决了一个功能的问题.

python database-design memoization data-structures

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

字段更改的休眠审计日志

如何将实体的更改记录到日志文件中?考虑我有Person这样的。

import org.hibernate.envers.Audited;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
import javax.persistence.Column;

@Entity
@Audited
public class Person {
    @Id
    @GeneratedValue
    private int id;

    private String name;
    private String surname;
// add getters, setters, constructors, equals and hashCode here
}
Run Code Online (Sandbox Code Playgroud)

和改变现有的代码 Person

Person p1 = new Person("name-1", "surname-1");
personRepository.save(p1);
Person p2 = personRepository.findOne(1L);
p2.setName("new-name");
personRepository.save(p2);
Run Code Online (Sandbox Code Playgroud)

我怎么会有

  • 旧实体
  • 新实体
  • 字段列表已更改(类似于Diffable的结果)

在我的日志文件中?我知道envars可以在 db 中存储更改并让我稍后提取它们,AuditReader但我喜欢将更改存储在 Json 文件中以将它们发送到第三方应用程序(如 Elastic)。

java hibernate hibernate-envers spring-data audit-logging

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