Skip to content

Instantly share code, notes, and snippets.

@gistlyn
Last active May 16, 2021 16:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gistlyn/c2e4ac0ba376df9175df28895537d4dd to your computer and use it in GitHub Desktop.
Save gistlyn/c2e4ac0ba376df9175df28895537d4dd to your computer and use it in GitHub Desktop.
ServiceStack.Redis TODOs
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
<NoWarn>1591</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="ServiceStack.Redis" Version="5.*" />
</ItemGroup>
</Project>
using ServiceStack.Text;
using ServiceStack.Redis;
var redisManager = new RedisManagerPool("localhost:6379");
var redis = redisManager.GetClient();
var redisTodos = redis.As<Todo>();
var newTodo = new Todo
{
Id = redisTodos.GetNextSequence(),
Content = "Learn Redis",
Order = 1,
};
redisTodos.Store(newTodo);
Todo savedTodo = redisTodos.GetById(newTodo.Id);
$"Saved Todo: {savedTodo.Dump()}".Print();
savedTodo.Done = true;
redisTodos.Store(savedTodo);
var updatedTodo = redisTodos.GetById(newTodo.Id);
$"Updated Todo: {updatedTodo.Dump()}".Print();
redisTodos.DeleteById(newTodo.Id);
var remainingTodos = redisTodos.GetAll();
$"No more Todos: {remainingTodos.Dump()}".Print();
public class Todo
{
public long Id { get; set; }
public string Content { get; set; }
public int Order { get; set; }
public bool Done { get; set; }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment