cache.rb 912 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. module Cache
  2. =begin
  3. delete a cache
  4. Cache.delete('some_key')
  5. =end
  6. def self.delete(key)
  7. Rails.cache.delete(key.to_s)
  8. end
  9. =begin
  10. write a cache
  11. Cache.write(
  12. 'some_key',
  13. { some: { data: { 'structure' } } },
  14. { expires_in: 24.hours, # optional, default 7 days }
  15. )
  16. =end
  17. def self.write(key, data, params = {})
  18. if !params[:expires_in]
  19. params[:expires_in] = 7.days
  20. end
  21. begin
  22. Rails.cache.write(key.to_s, data, params)
  23. rescue => e
  24. Rails.logger.error "NOTICE: #{e.message}"
  25. end
  26. end
  27. =begin
  28. get a cache
  29. value = Cache.get('some_key')
  30. =end
  31. def self.get(key)
  32. Rails.cache.read(key.to_s)
  33. end
  34. =begin
  35. clear whole cache store
  36. Cache.clear
  37. =end
  38. def self.clear
  39. # workaround, set test cache before clear whole cache, Rails.cache.clear complains about not existing cache dir
  40. Cache.write('test', 1)
  41. Rails.cache.clear
  42. end
  43. end