Giter VIP home page Giter VIP logo

Comments (4)

monnand avatar monnand commented on July 24, 2024

Thanks for this report! This is very useful!

There were no SCAN command when I first used redis. So I used KEYS instead. You are right, SCAN is definitely a better choice.

Here are two possible solutions:

  • Since goredis is maintained by myself, I could add this command.
  • redigo is another option. I used this package in uniqush-conn since I really do not want to maintain yet another redis library for Go.

I would prefer the second option, although it requires to re-write the db part. Since I'm considering to support SQL databases (at least mysql and postgres), re-writing the db package is inevitable. Besides, the data format stored in redis may be changed (but the code will be backward compatible.) Considering these changes in the near future, I think your suggestion will definitely be considered and implemented.

BTW, I noticed that you are maintaining another fork of uniqush-push. I am wondering if you consider to work together on this project. It would be great if we can put our force together.

from uniqush-push.

sailorfeng avatar sailorfeng commented on July 24, 2024

monnand原来是国产大牛啊,看到你在go group中很活跃啊。
我确实是fork了一个在用,但由于是go初学者,很多东西改得不好,怕影响原生功能。
特别是目前改出来的版本apns push时,还会进程崩溃。。。

另外,这个项目是我当初赶业务时弄的(再次感谢monnand雪中送炭),公司任务安排太多,一直抽不出时间来完善,如果帮忙维护的话,时间上恐难以保证。

from uniqush-push.

monnand avatar monnand commented on July 24, 2024

说来惭愧,uniqush-push也是我的第一个Go项目,所以代码本身也还没有让我很满意。虽然中间经过几次重构,修复了不少bug,但是由于没有完整的单元测试代码,让后续工作很难开展。

在刚刚开始写的时候,Go还没有如今这套方便的工具链。当年还要自己写Makefile,也没有如今这些做单元测试的东西。这就导致我当时偷懒没把单元测试给放上。之后在写uniqush-conn的时候,这方面就注意很多了。

如今我正在从头开始把uniqush-push写一遍,代码都在v2这个branch里。

from uniqush-push.

mishan avatar mishan commented on July 24, 2024

Another issue with KEYS is that if you are using twitter/twemproxy (AKA nutcracker) to manage a pool of Redis shards like I am. KEYS is not supported and rejected by the server. Same with all the SCAN stuff too. But that's more of an issue with the way I am using it I guess.

from uniqush-push.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.