相关疑难解决方法(0)

Redis只是一个缓存吗?

我一直在阅读一些Redis文档并在http://try.redis-db.com/上尝试教程.到目前为止,我看不出Redis与Velocity或企业库缓存框架等缓存技术之间存在任何差异

您实际上只是使用唯一键将对象添加到内存数据存储中.似乎没有任何关系语义......

我错过了什么?

caching redis

246
推荐指数
2
解决办法
9万
查看次数

何时使用MongoDB

我正在编写一个不一定需要扩展能力的应用程序,因为它不会在开始时收集大量数据.(但是,如果我很幸运,我可能会在路上行驶.)

我将在同一个盒子上运行我的Web服务器和数据库(现在).

话虽如此,我正在寻找性能和效率.

我的应用程序的主要部分将是加载博客文章.使用RDBMS(MySQL)我将进行6次查询(其中2个查询是连接),只是为了加载一个博客文章页面.

select blog
select blog_album
select blog_tags
select blog_notes
select blog_comments (join with users)
select blog_author_participants (join with users)
Run Code Online (Sandbox Code Playgroud)

但是,使用MongoDB,我可以对6个表进行反规范化并将其展平为仅2个表/集合,并将我的查询最小化为可能只有一个查询,

users
blogs
    ->blog_album
    ->blog_tags        
    ->blog_notes
    ->blog_comments
    ->blog_author_participants
Run Code Online (Sandbox Code Playgroud)

现在,使用MongoDB架构,将会有一些数据冗余.但是,硬盘空间比CPU /服务器便宜.

1.)这是一个使用MongoDB的好方案吗?

2.)在扩展到单个服务器之外时,您是否只在使用MongoDB时获益?

3.)使用MongoDB是否存在任何持久性风险?我听说在执行插入时可能会丢失数据 - 因为insert首先写入内存,然后写入数据库.

4.)这是否会阻止我在生产中使用MongoDB?

mysql database database-design relational-database mongodb

47
推荐指数
5
解决办法
4万
查看次数

Dynamodb 与 Redis

我们正在使用 AWS,并考虑使用DynamoDBRedis使用我们的新服务。
以下是我们服务的特点

  1. 插入/删除每分钟发生成百上千次,以后会更大。
  2. 我们不需要快速搜索,只需要找到一个带key的值
  3. 数据不应丢失。
  4. 还有另一种数据不像1.

我担心Redis服务器何时停机。
Redis失败时,我们的数据将被删除。

这就是为什么我正在考虑选择Amazon DynamoDB.
因为DynamoDB是NoSQL,所以插入/删除非常快(比Redis慢,但我们不需要那么快),并且永久存储数据。

但我不确定我的想法是否正确。

如果我想错了或者没有想到另一个重要的点,当你们教我时,我会很感激。

谢谢。

amazon-web-services redis amazon-dynamodb

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

停止循环脚本以返回重复的条目

我有一些代码,当前打印出来自XML文件(从网站获得)的每个用户的数据,XML更新,因为更多的用户全天与它进行交互.我目前有我的代码循环每5分钟下载一次这个数据.

每次运行代码时,它都会生成一个用户及其统计信息列表,前5分钟打印用户:a,b,c

第二个5分钟它打印用户:a,b,c,d,e

第三个5分钟它打印用户:a,b,c,d,e,f,g

我需要代码才能打印前5分钟:a,b,c秒5分钟:d,e第​​三个5分钟:f,g

有些人如何认识到已经使用了一些用户.每个用户都有一个唯一的用户ID,我想可以匹配?

我附上了我的代码示例,如果有帮助的话.

import mechanize
import urllib
import json
import re
import random
import datetime
from sched import scheduler
from time import time, sleep

######Code to loop the script and set up scheduling time

s = scheduler(time, sleep)
random.seed()

def run_periodically(start, end, interval, func):
    event_time = start
    while event_time < end:
        s.enterabs(event_time, 0, func, ())
        event_time += interval + random.randrange(-5, 45)
    s.run()


###### Code to get the data required from the URL desired
def getData():  
    post_url …
Run Code Online (Sandbox Code Playgroud)

python xml loops duplicates python-2.7

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