Storing Java Date Object in REDIS

I need to store a Java object Date

in Redis. I am using Jedis as my Redis client. How can I store a Date object in Redis and retrieve it using Java? Everything I can see is using String and Integer values. However, I don't understand enough about this world to do it with an object Date

.

+3


source to share


2 answers


How can I convert a Date object to an Epoch timestamp and convert it back to a Date with any date format? This way you won't run into problems with formatting errors.

//...convert date to epoch timestamp
Long time = new Date().getTime();

//...serialize it to a json object
job.addProperty("dateTime", time);

//...write it to redis
jedis.hset(KEY, field, job.toString());

//...retrieve the field and convert date with any format
model = gson.fromJson(jedis.hget(KEY, field), ModelClass.class);

//...print the date (suppose that the time field is of type Long)
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
System.out.println(format.format(model.getTime()));

      



Hope it helps.

+2


source


You need to find a way to serialize the data and analyze it later. Redis will only store strings and Jedis does not provide serializers. This conversation contains more information about your use case.



-1


source







All Articles