André Warnier schrieb am 16.05.2010 um 13:40:31 (+0200):

> One alternative is to use some strictly incremental
> counter, shared between multiple processes running on
> potentially multiple systems or CPUs.  This requires a
> common place to store the counter, which survives a system
> restart, and it requires some lock-read-increment-unlock
> mechanism.  I don't know any really fast and efficient way
> of doing this.  I am interested however if anyone knows
> one.

In an SQL server, you'd use a SEQUENCE:

  SELECT NEXT VALUE FOR MY_BLA_SEQ FROM <...>

Read about Redis recently, like Memcache, just "semi-persistent".
You can store and increment an integer there. Or in any other
key-value store.

I think the locking required for incrementing an integer, if
necessary at all, is negligible.

But I agree that in practice for most scenarios, your solution
will work just fine ;-)
-- 
Michael Ludwig

Reply via email to