25 lines
923 B
C#
25 lines
923 B
C#
using StackExchange.Redis;
|
|
using System;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace NadekoBot.Core.Services
|
|
{
|
|
public interface IDataCache
|
|
{
|
|
ConnectionMultiplexer Redis { get; }
|
|
IImageCache LocalImages { get; }
|
|
ILocalDataCache LocalData { get; }
|
|
|
|
Task<(bool Success, byte[] Data)> TryGetImageDataAsync(string key);
|
|
Task<(bool Success, string Data)> TryGetAnimeDataAsync(string key);
|
|
Task<(bool Success, string Data)> TryGetNovelDataAsync(string key);
|
|
Task SetImageDataAsync(string key, byte[] data);
|
|
Task SetAnimeDataAsync(string link, string data);
|
|
Task SetNovelDataAsync(string link, string data);
|
|
TimeSpan? AddTimelyClaim(ulong id, int period);
|
|
void RemoveAllTimelyClaims();
|
|
bool TryAddAffinityCooldown(ulong userId, out TimeSpan? time);
|
|
bool TryAddDivorceCooldown(ulong userId, out TimeSpan? time);
|
|
}
|
|
}
|