aierda 2023-09-06 16:44 采纳率: 72.1%
浏览 44
已结题

redis可以一边写一边读吗

背景描述:
多台客户端的数据要同步的到一台服务器上面去(开发环境为.netcore),数据传输的方式使用的是grpc的流模式。
据此,我的做法是
首先,服务端接收到的数据统统先存放到redis中
然后,服务端重新开一个线程,这个线程要做的事情是:
从redis中取数据,继而将取到的数据进行一系列的逻辑判断,
符合条件的写入到ms sql数据库中,最后删除redis相关记录

我的问题:
1.redis是单进程模式,redis同时在主进程和线程中被调用,是否不妥,能行得通吗?
2.如果行得通,主进程在不断的写数据,而线程也在不断的读数据,甚至写
数据(因为最后要删除redis相关记录),虽然redis里面的key
不会重复,但这样还行得通吗?

请教各位能人指点,求解决方案或意见,感谢!

  • 写回答

20条回答 默认 最新

  • 前网易架构师-高司机 优质创作者: 人工智能技术领域 2023-09-06 16:53
    关注

    redis是单线程的,你当然可以分两个线程来操作redis,主线程直接读,子线程异步写,读写分离开来。
    那么关键就是要看你操作的是redis的什么结构了,大概是什么样的逻辑,不通的结构可能会导致数据多删或者露删

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(19条)

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日
  • 创建了问题 9月6日