A Unix timestamp expressed in seconds is like the following (rounded up of course)
1409134929
The issue lies that our system is constrained by memory and we're generating and storing a timestamp every second. They are accessed randomly one by one, so a "whole" compression won't work.
Smaz won't help as it only compresses short strings, neither LZMA is going to cut it.
Is there some special compression algorithm or dictionary technique to achieve this type of compression?
Don't use a string but a binary value. The POSIX Timestamp (EPOCH) is stored in a 32-bit value (at least on a 32-bit PC).
Storing your timestamp on a string can take 9x8bit=72bits or up to 9x32bits=288bits if a the char type uses a 32-bit memory slot.
Your solution is to get the binary form of your string.
Here what you will get in binary:
If you use the C language, please take a look to the mktime function.