Comments (4)
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.
monnand原来是国产大牛啊,看到你在go group中很活跃啊。
我确实是fork了一个在用,但由于是go初学者,很多东西改得不好,怕影响原生功能。
特别是目前改出来的版本apns push时,还会进程崩溃。。。
另外,这个项目是我当初赶业务时弄的(再次感谢monnand雪中送炭),公司任务安排太多,一直抽不出时间来完善,如果帮忙维护的话,时间上恐难以保证。
from uniqush-push.
说来惭愧,uniqush-push也是我的第一个Go项目,所以代码本身也还没有让我很满意。虽然中间经过几次重构,修复了不少bug,但是由于没有完整的单元测试代码,让后续工作很难开展。
在刚刚开始写的时候,Go还没有如今这套方便的工具链。当年还要自己写Makefile,也没有如今这些做单元测试的东西。这就导致我当时偷懒没把单元测试给放上。之后在写uniqush-conn的时候,这方面就注意很多了。
如今我正在从头开始把uniqush-push写一遍,代码都在v2这个branch里。
from uniqush-push.
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)
- APNs binary protocol will be disabled in November 2020 - Provide migration steps
- Add a health check for connection pools, redis being connected HOT 3
- Refuse to start up if APNs certificates cause SystemRootsError
- Plans for web push features? HOT 1
- Potential code quality issues found HOT 3
- Fix no-op Signal(os.Kill)
- Idea: Add an opt-in mode to act as a proxy without managing tokens
- Consider migrating GCM/FCM from legacy HTTP API to HTTP v1 API
- Look into token-based instead of certificate-based connections to APNs
- Add Destination pointer to all push.Error implementations, to log
- Disable APNs binary protocol and feedback checker HOT 1
- Look into supporting apns-push-type setting HOT 1
- cant receive message in android app
- Remove psps
- What about an open server-side events/REST protocol for apps on any platform?
- Document how to support new root CAs for APNs servers with uniqush
- Make FCM/APNS timeouts configurable?
- Switch to api.sandbox.push.apple.com
- what tutorials on this are complete, i cant send a push notification via fcm
- Support UnifiedPush on Android devices HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uniqush-push.