У меня есть список из четырех элементов: created_at
, text
, name
, screen_name
. Первый представляет дату создания, второй текст твита, а последний - имя и псевдоним пользователя. Я хочу хранить эту информацию с продолжительностью жизни, случайной продолжительностью жизни. Для этого я подумал об использовании кеша и реализации этой ссылки https://medium.com/@kezhenxu94 / how-to-build-your-own-cache-in- kotlin -1b0e86005591 .
Мои вопросы:
- использовать ключ-значение карты и сохранить в значении строку со всей информацией (
created_at
, text
, name
, screen_name
)? - как добавить эту информацию на карту с помощью этого кода?
Пожалуйста, приведите пример примера для хранения этих данных. Или, если есть другой способ сделать то, что я хочу более правильно, скажите мне.
Мой код в данный момент:
class ExpirableCache(private val delegate: Cache, private val flushInterval: Long = TimeUnit.MINUTES.toMillis(1000)) : Cache {
private val dataTweet: Map<Long, Long>? = null
private var lastFlushTime = System.nanoTime()
override val size: Int
get() = delegate.size
override fun set(key: Any, value: Any) {
delegate[key] = value
}
override fun remove(key: Any): Any? {
recycle()
return delegate.remove(key)
}
override fun get(key: Any): Any? {
recycle()
return delegate[key]
}
override fun add(key: Any, value: Any) {
dataTweet[0, value]
}
override fun clear() = delegate.clear()
private fun recycle() {
val shouldRecycle = System.nanoTime() - lastFlushTime >= TimeUnit.MILLISECONDS.toNanos(flushInterval)
if (!shouldRecycle) return
delegate.clear()
}
}