From 1727ab7bda80f64c5677201c877d05a040a5178a Mon Sep 17 00:00:00 2001 From: slorello89 Date: Tue, 15 Mar 2022 17:03:45 -0400 Subject: [PATCH] .NET Stack/OM tutorial --- .../tutorials/images/Accept_EULA.png | Bin 0 -> 119934 bytes .../images/Add_Redis_Database_button.png | Bin 0 -> 2683 bytes .../Configure_Redis_Insight_Database.png | Bin 0 -> 18836 bytes .../get-started/tutorials/stack-dot-net.md | 10 - .../get-started/tutorials/stack-dotnet.md | 334 ++++++++++++++++++ 5 files changed, 334 insertions(+), 10 deletions(-) create mode 100644 docs/stack/get-started/tutorials/images/Accept_EULA.png create mode 100644 docs/stack/get-started/tutorials/images/Add_Redis_Database_button.png create mode 100644 docs/stack/get-started/tutorials/images/Configure_Redis_Insight_Database.png delete mode 100644 docs/stack/get-started/tutorials/stack-dot-net.md create mode 100644 docs/stack/get-started/tutorials/stack-dotnet.md diff --git a/docs/stack/get-started/tutorials/images/Accept_EULA.png b/docs/stack/get-started/tutorials/images/Accept_EULA.png new file mode 100644 index 0000000000000000000000000000000000000000..819b5bb88261d2bf6dd0ad773acaa6ff1e7d5405 GIT binary patch literal 119934 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 literal 0 HcmV?d00001 diff --git a/docs/stack/get-started/tutorials/images/Add_Redis_Database_button.png b/docs/stack/get-started/tutorials/images/Add_Redis_Database_button.png new file mode 100644 index 0000000000000000000000000000000000000000..49cf25752b3844d636b22d3b5e1f6dce7ca3c9a0 GIT binary patch literal 2683 zcmZ{mX*3iJ7spY9$5!UazKl?5Vi1qA4HL#7+mNLgTQstT4B40LTT>!Nm=Gp=s2&Vi z!ysFOA=xuAj9o)sb<{g z*jZ1qe(g=Slfvwe)W5-0IUu@nB2M3f8N-;EYSK9mod75LuLlTQeBh~mSTf_Wc-tKpaIL}vzs*&tHH;6 z&A6tfuto+3mnBfLd~M5ZhSCPpimUymf-E%7_b+}> z`}@<$=}vZS76GOKqw}uZS4ly#KZ(}BLLiZ$xWc1>7 zM!#&_v}5-BmeIe+*DcccolQ%tv_+&d2n1KZ_^*~@!y~mLR+1}UBGp3rZT}wV&8rYCC2JZk z@m@Mz8azk&pp(9`{`i}Qc$g0m4rO=SP0qF1wyoeD( zedFR6|A0vGFh}gFLO?{e&{r(%*mH+cJJnU;(<)g$^pQA( zw@S3(pY#^PfMc|288JWL%+o02)DLrHyU--H2kgMWN*@HIhT3YCCZ!0 zm@V_cH}X>g{$IWLEXp3uTmmgFsAm>FQ6ub*E^#`y2tlU=lu_)}kkmuX*33t5&|7hI#}_=0Ddnf4wC_LUs@&Dtd7T zkUA8?oeUkODNcubXpoJwvr(5JI%bI5`C=47!ZR)JTVzWST92`)K>lXX_^O#X>gG|K zLcLENa(NM&10-eUsS2HPeo`Psm+GQqky0phK{I`mhh|2MfLlgqrbs5*j7@YRuYtrW`c(I3sPDwn{4`6057-yAbyinNy><^{d}i>JcU9BsRw{ zOozuzXNBMWclE8sF;zUV979#2zzwe1Q{G3p%<1IVGB&f&Kf3sawGkp4;yBe7>r%@? zMsMV{v*FDR66W+U#=OY5ZU4b5D{Kd1kFUZzBUzwRLb(V{nBH<@TkMFK9;E6q;75cH zxnoVeNq4=p4dWjQbISL5%ZZgm%Kl+WsuLTRs>lf}oCJ$-F7n>h9|0FdWga9dm-Jph`t)s*aMS7S=SVit=<;qkf5%VW%S`g`iG`C35hO(U2CD4ja$APkdjOuT3jb&w75zBB{Uw-9#hCr%;~EX^Cgz z%x6KY$|gZr;TPs*tgQ1flBtn_lTG2Oe8xRO2CB|3?KVlA^;_860S+tV^xI1Irj6bS zh=R=RidM&i{xo>@T!EYiv_<>)uB=Q6ZSa0gCx?p&u(+lgPY_A|CxOVssfD@90zlHI zv|oE(5tU^1!wY^^RfYbXoi{4#rzh=UECwI`zUjQPI9R~aZDB|(U)JaYQMW-6l9VlA zcTwjy^~F9?uUHt7N(+BLPPiB9OLm{IMW~Xlq_~ZOr?G)*cQxs)k$S?>!DqzXv$m>q zB|262t#Ic?=QbrNyytnBR0KzC08Q^y^={mGUTtB&UuGvG>Ck#f%wVUlWI?+tGTfMJ zJVcy;Rq4L+wa`kvY?-lkZ9bY)yl=e1r^#!cH7)s!Ilz5f%9KVsF?U)+uiq8^j!p0mj*8v ztThgNZg&Pk1%+|Q0)P4%M@GAJi^K~(T%Nk&kB(57W{Dwd?^=aNW{d!Nvi9r7gQ-z| z&!xl&HLsuwTJ*+Y1U_v*#814C3iq3GmO9~UJ!bqQUl zQ^XF)5)ThUParBq$qgSRNC(8gPQ>+;=Yo&wpE-$k83sk3c;o?^2DRe8>%=)B*>aF~ cLKA+mVIAg_i3VJ)C&0*Lpl706dBZXKKUIr7#Q*>R literal 0 HcmV?d00001 diff --git a/docs/stack/get-started/tutorials/images/Configure_Redis_Insight_Database.png b/docs/stack/get-started/tutorials/images/Configure_Redis_Insight_Database.png new file mode 100644 index 0000000000000000000000000000000000000000..497a46cb655bccba06b89729fc42cb6a94ac4a99 GIT binary patch literal 18836 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 I=akR{0Ot)XUH||9 literal 0 HcmV?d00001 diff --git a/docs/stack/get-started/tutorials/stack-dot-net.md b/docs/stack/get-started/tutorials/stack-dot-net.md deleted file mode 100644 index c6ad5121..00000000 --- a/docs/stack/get-started/tutorials/stack-dot-net.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Redis OM .NET" -linkTitle: .NET -description: Learn how to build with Redis Stack and .NET -weight: 1 ---- - -{{< highlight csharp>}} -Console.WriteLine("Hello World!"); -{{< / highlight >}} \ No newline at end of file diff --git a/docs/stack/get-started/tutorials/stack-dotnet.md b/docs/stack/get-started/tutorials/stack-dotnet.md new file mode 100644 index 00000000..c1f49df7 --- /dev/null +++ b/docs/stack/get-started/tutorials/stack-dotnet.md @@ -0,0 +1,334 @@ +--- +title: "Redis OM .NET" +linkTitle: .NET +description: Learn how to build with Redis Stack and .NET +weight: 1 +--- + +[Redis OM .NET](https://github.com/redis/redis-om-dotnet) is a purpose-built library for handling documents in Redis Stack. In this tutorial, we'll build a simple ASP.NET Core Web-API app for performing CRUD operations on a simple Person & Address model, and we'll accomplish all of this with Redis OM .NET. + +## Prerequisites + +* [.NET 6 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) +* And IDE for writing .NET (Visual Studio, Rider, Visual Studio Code) +* Optional: Docker Desktop for running redis-stack in docker for local testing. + +## Skip to the code + +If you want to skip this tutorial and just jump straight into code, all the source code is available in [GitHub](https://github.com/redis-developer/redis-om-dotnet-skeleton-app) + +## Run Redis Stack + +There are a variety of ways to run Redis Stack. One way is to use the docker image: + +``` +docker run -d -p 6379:6379 -p 8001:8001 redislabs/redis-stack +``` + +## Create the project + +To create the project, just run: + +```bash +dotnet new webapi -n Redis.OM.Skeleton --no-https --kestrelHttpPort 5000 +``` + +Then open the `Redis.OM.Skeleton.csproj` file in your IDE of choice. + +## Configure the app + +Add a `"REDIS_CONNECTION_STRING" field to your `appsettings.json` file to configure the application. Set that connection string to be the URI of your Redis instance. If using the docker command mentioned earlier, your connection string will be `redis://localhost:6379`. + +## Create the model + +Now it's time to create the `Person`/`Address` model that the app will use for storing/retrieving people. Create a new directory called `Model` and add the files `Address.cs` and `Person.cs` to it. In `Address.cs`, add the following: + +```csharp +using Redis.OM.Modeling; + +namespace Redis.OM.Skeleton.Model; + +public class Address +{ + [Indexed] + public int? StreetNumber { get; set; } + + [Indexed] + public string? Unit { get; set; } + + [Searchable] + public string? StreetName { get; set; } + + [Indexed] + public string? City { get; set; } + + [Indexed] + public string? State { get; set; } + + [Indexed] + public string? PostalCode { get; set; } + + [Indexed] + public string? Country { get; set; } + + [Indexed] + public GeoLoc Location { get; set; } +} +``` + +Here, you'll notice that except `StreetName`, marked as `Searchable`, all the fields are decorated with the `Indexed` attribute. These attributes (`Searchable` and `Indexed`) tell Redis OM that you want to be able to use those fields in queries when querying your documents in Redis Stack. `Address` will not be a Document itself, so the top-level class is not decorated with anything; instead, the `Address` model will be embedded in our `Person` model. + +To that end, add the following to `Person.cs` + +```csharp +using Redis.OM.Modeling; + +namespace Redis.OM.Skeleton.Model; + +[Document(StorageType = StorageType.Json, Prefixes = new []{"Person"})] +public class Person +{ + [RedisIdField] [Indexed]public string? Id { get; set; } + + [Indexed] public string? FirstName { get; set; } + + [Indexed] public string? LastName { get; set; } + + [Indexed] public int Age { get; set; } + + [Searchable] public string? PersonalStatement { get; set; } + + [Indexed] public string[] Skills { get; set; } = Array.Empty(); + + [Indexed(CascadeDepth = 1)] Address? Address { get; set; } + +} +``` + +There are a few things to take note of here: + +1. `[Document(StorageType = StorageType.Json, Prefixes = new []{"Person"})]` Indicates that the data type that Redis OM will use to store the document in Redis is JSON and that the prefix for the keys for the Person class will be `Person`. + +2. `[Indexed(CascadeDepth = 1)] Address? Address { get; set; }` is one of two ways you can index an embedded object with Redis OM. This way instructs the index to cascade to the objects in the object graph, `CascadeDepth` of 1 means that it will traverse just one level, indexing the object as if it were building the index from scratch. The other method uses the `JsonPath` property of the individual indexed fields you want to search for. This more surgical approach limits the size of the index. + +3. the `Id` property is marked as a `RedisIdField`. This denotes the field as one that will be used to generate the document's key name when it's stored in Redis. + +## Create the Index + +With the model built, the next step is to create the index in Redis. The most correct way to manage this is to spin the index creation out into a Hosted Service, which will run which the app spins up. Create a' HostedServices' directory and add `IndexCreationService.cs` to that. In that file, add the following, which will create the index on startup. + +```csharp +using Redis.OM.Skeleton.Model; + +namespace Redis.OM.Skeleton.HostedServices; + +public class IndexCreationService : IHostedService +{ + private readonly RedisConnectionProvider _provider; + public IndexCreationService(RedisConnectionProvider provider) + { + _provider = provider; + } + + public async Task StartAsync(CancellationToken cancellationToken) + { + await _provider.Connection.CreateIndexAsync(typeof(Person)); + } + + public Task StopAsync(CancellationToken cancellationToken) + { + return Task.CompletedTask; + } +} +``` + +## Inject the RedisConnectionProvider + +Redis OM uses the `RedisConnectionProvider` class to handle connections to Redis and provides the classes you can use to interact with Redis. To use it, simply inject an instance of the RedisConnectionProvider into your app. In your `Program.cs` file, add: + +```csharp +builder.Services.AddSingleton(new RedisConnectionProvider(builder.Configuration["REDIS_CONNECTION_STRING"])); +``` + +This will pull your connection string out of the config and initialize the provider. The provider will now be available in your controllers/services to use. + +## Create the PeopleController + +The final puzzle piece is to write the actual API controller for our People API. In the `controllers` directory, add the file `PeopleController.cs`, the skeleton of the `PeopleController`class will be: + +```csharp +using Microsoft.AspNetCore.Mvc; +using Redis.OM.Searching; +using Redis.OM.Skeleton.Model; + +namespace Redis.OM.Skeleton.Controllers; + +[ApiController] +[Route("[controller]")] +public class PeopleController : ControllerBase +{ + +} +``` + +### Inject the RedisConnectionProvider + +To interact with Redis, inject the RedisConnectionProvider. During this dependency injection, pull out a `RedisCollection` instance, which will allow a fluent interface for querying documents in Redis. + +```csharp +private readonly RedisCollection _people; +private readonly RedisConnectionProvider _provider; +public PeopleController(RedisConnectionProvider provider) +{ + _provider = provider; + _people = (RedisCollection)provider.RedisCollection(); +} +``` + +### Add route for creating a Person + +The first route to add to the API is a POST request for creating a person, using the `RedisCollection`, it's as simple as calling `InsertAsync`, passing in the person object: + + +```csharp +[HttpPost] +public async Task AddPerson([FromBody] Person person) +{ + await _people.InsertAsync(person); + return person; +} +``` + +### Add route to filter by age + +The first filter route to add to the API will let the user filter by a minimum and maximum age. Using the LINQ interface available to the `RedisCollection`, this is a simple operation: + +```csharp +[HttpGet("filterAge")] +public IList FilterByAge([FromQuery] int minAge, [FromQuery] int maxAge) +{ + return _people.Where(x => x.Age >= minAge && x.Age <= maxAge).ToList(); +} +``` + +### Filter by GeoLocation + +Redis OM has a `GeoLoc` data structure, an instance of which is indexed by the `Address` model, with the `RedisCollection`, it's possible to find all objects with a radius of particular position using the `GeoFilter` method along with the field you want to filter: + + +```csharp +[HttpGet("filterGeo")] +public IList FilterByGeo([FromQuery] double lon, [FromQuery] double lat, [FromQuery] double radius, [FromQuery] string unit) +{ + return _people.GeoFilter(x => x.Address!.Location, lon, lat, radius, Enum.Parse(unit)).ToList(); +} +``` + +### Filter by exact string + +When a string property in your model is marked as `Indexed`, e.g. `FirstName` and `LastName`, Redis OM can perform exact text matches against them. For example, the following two routes filter by `PostalCode` and name demonstrate exact string matches. + +```csharp +[HttpGet("filterName")] +public IList FilterByName([FromQuery] string firstName, [FromQuery] string lastName) +{ + return _people.Where(x => x.FirstName == firstName && x.LastName == lastName).ToList(); +} + +[HttpGet("postalCode")] +public IList FilterByPostalCode([FromQuery] string postalCode) +{ + return _people.Where(x => x.Address!.PostalCode == postalCode).ToList(); +} +``` + +### Filter with a full-text search + +When a property in the model is marked as `Searchable`, like `StreetAddress` and `PersonalStatement`, you can perform a full-text search, see the filters for the `PersonalStatement` and `StreetAddress`: + + +```csharp +[HttpGet("fullText")] +public IList FilterByPersonalStatement([FromQuery] string text){ + return _people.Where(x => x.PersonalStatement == text).ToList(); +} + +[HttpGet("streetName")] +public IList FilterByStreetName([FromQuery] string streetName) +{ + return _people.Where(x => x.Address!.StreetName == streetName).ToList(); +} +``` + +### Filter by array membership + +When a string array or list is marked as `Indexed`, Redis OM can filter all the records containing a given string using the `Contains` method of the array or list. For example, our `Person` model has a list of skills you can query by adding the following route. + +```csharp +[HttpGet("skill")] +public IList FilterBySkill([FromQuery] string skill) +{ + return _people.Where(x => x.Skills.Contains(skill)).ToList(); +} +``` + +### Updating a person + +Updating a document in Redis Stack with Redis OM can be done by first materializing the person object, making your desired changes, and then calling `Save` on the collection. The collection is responsible for keeping track of updates made to entities materialized in it; therefore, it will track and apply any updates you make in it. For example, add the following route to update the age of a Person given their Id: + + +```csharp +[HttpPatch("updateAge/{id}")] +public IActionResult UpdateAge([FromRoute] string id, [FromBody] int newAge) +{ + foreach (var person in _people.Where(x => x.Id == id)) + { + person.Age = newAge; + } + _people.Save(); + return Accepted(); +} +``` + +### Delete a person + +Deleting a document from Redis can be done with `Unlink`. All that's needed is to call Unlink, passing in the key name. Given an id, we can reconstruct the key name using the prefix and the id: + + +```csharp +[HttpDelete("{id}")] +public IActionResult DeletePerson([FromRoute] string id) +{ + _provider.Connection.Unlink($"Person:{id}"); + return NoContent(); +} +``` + +## Run the app + +All that's left to do now is to run the app and test it. You can do so by running `dotnet run`, the app is now exposed on port 5000, and there should be a swagger UI that you can use to play with the API at http://localhost:5000/swagger. There's a couple of scripts, along with some data files, to insert some people into Redis using the API in the [GitHub repo](https://github.com/redis-developer/redis-om-dotnet-skeleton-app/tree/main/data) + +## Viewing data in with Redis Insight + +You can either install the Redis Insight GUI or use the Redis Insight GUI running on http://localhost:8001/. + +You can view the data by following these steps: + +1. Accept the EULA + +![Accept EULA](./images/Accept_EULA.png) + +2. Click the Add Redis Database button + +![Add Redis Database Button](./images/Add_Redis_Database_button.png) + +3. Enter your hostname and port name for your redis server. If you are using the docker image, this is `localhost` and `6379` and give your database an alias + +![Configure Redis Insight Database](./images/Configure_Redis_Insight_Database.png) + +4. Click `Add Redis Database.` + +## Resources + +* The source code for this tutorial can be found in [GitHub](https://github.com/redis-developer/redis-om-dotnet-skeleton-app). +* To learn more about Redis OM you can check out the the guide on [Redis Developer](https://developer.redis.com/develop/dotnet/redis-om-dotnet/connecting-to-redis) \ No newline at end of file