> I thought this was a FAQ -- or at least I have memory of this being discussed > here before. > > I have one process that uses memcached for throttling by setting a key with a > timeout. If the set fails (NOT_STORED, as the FAQ describes) > then the process waits. > > The question came up yesterday at work if a process can query the time > remaining for a given key. I thought I remembered that there was no > way to read the timeout value on an existing key, but I'm not having any luck > this morning finding discussion of this. Can someone confirm > this -- or point me to documentation/discussion about this?
No way to fetch this in the protocol... You can embed it in your object if you want. > Also, Is there a way to test that a key exists other than a get()? I know > with the throttling example an add() is used, but I don't want > to add a new value if it doesn't exist. Perhaps premature optimization, but > can a process check that a key exists and not transfer the > value when the data is not needed? No dice there either. You can do an 'add' of a zero byte object with an expiration of 1 second. Or uh... if you set the expiration to be > 30 days it's accepted as a date, so I think you can backdate it and have it expire immediately? Can't remember offhand if that actually works. Usually it's a premature optimization or a flow problem if you need to do that though. Real cases have been rare. -- To unsubscribe, reply using "remove me" as the subject.
