读取本地文件以字典的形式存入redis

存入redis

from redis import Redis
import json


client = Redis(host='', db=1)

with open("court.txt", "a", encoding='utf-8')as f:
    f.write(json.dumps(data, ensure_ascii=False))
    f.write("\n")

with open("court.txt", "r", encoding="utf-8") as f:
    court_set = set(f.readlines())

for fydw in court_set:
    fydw = fydw.strip()
    client.sadd("court", fydw)
    
注意:redis3.0以上的版本不支持将字典作为键保存,redis==2.10.6

读取数据

def run():
    spider = Spider()
    while True:
        result = client.spop('court')
        if result:
            court_dict = eval(result.decode())
            fydw = court_dict["fydw"]
            pages = court_dict["pages"]
            spider.get_page(fydw, pages)
        else:
            break
      
def main():
    thread_list = []
    try:
        for i in range(10):
            t = threading.Thread(target=run, args=())
            thread_list.append(t)
        for i in range(10):
            thread_list[i].start()
        for i in range(10):
            thread_list[i].join()
    except Exception as e:
        logger.error(e)
注意:读取数据注意编码问题
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要将文件存入Redis,可以使用Java中的Jedis客户端库。以下是一个示例代码,演示如何将文件存入Redis。 首先,确保你已经安装了Jedis库。你可以在 Maven 项目中添加以下依赖项: ```xml <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.7.0</version> </dependency> ``` 然后,你可以使用以下代码将文件存入Redis: ```java import redis.clients.jedis.Jedis; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class RedisFileStorage { public static void main(String[] args) { // 连接 Redis Jedis jedis = new Jedis("localhost"); // 读取文件内容 File file = new File("path/to/file.txt"); byte[] fileContent = new byte[(int) file.length()]; try (FileInputStream fis = new FileInputStream(file)) { fis.read(fileContent); } catch (IOException e) { e.printStackTrace(); } // 将文件内容存入 Redis jedis.set("file", fileContent); // 关闭连接 jedis.close(); } } ``` 在上面的示例中,我们首先创建一个 Jedis 对象来与 Redis 服务器建立连接。然后,我们使用 FileInputStream 读取文件的内容,并将其存储在一个字节数组中。最后,我们使用 jedis.set() 方法将文件内容存入 Redis 中,其中键名为 "file"。 请替换代码中的 "path/to/file.txt" 为你实际文件的路径。此外,确保你的 Redis 服务器已在本地运行,并通过适当的主机和端口连接。 这只是一个简单的示例,你还可以根据需要进行更多的错误处理和优化。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全村之希望

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值