我有以下代码:
arr = {}
for i in range(0, 1000000):
arr[i] = i*2
redis_client.hmset("data_arr", arr)
g = []
for i in range(0, 100):
v = redis_client.hget("data_arr", str(random.randint(0, 10000000)))
if v!=None:
g.append(v)
首先,在redis上插入一百万行的速度非常慢(大于60秒),而基于磁盘的简单保存只需不到1秒的时间。
第二,redis hget
超级慢,比从磁盘读取json转储并使用线性搜索方法处理它慢得多。
请建议我加快Redis和替代方法的使用,以便我可以将数据存储在ram中一段时间并可以作为API进行访问。
我最初是在内存上使用MySQL来存储临时数据,因为MySQL非常适合运行搜索和其他SQL事务,但是当我希望存储的数据仅保留一定时间或在删除数据时将其删除会增加难度重。