Skip to content

Commit 9489d88

Browse files
authored
Merge pull request #628 from imperugo/docs/comprehensive-documentation-rewrite
Comprehensive documentation rewrite
2 parents 8e36473 + 0ea47df commit 9489d88

27 files changed

+1284
-211
lines changed

.github/workflows/ci.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
branches:
9+
- master
10+
11+
jobs:
12+
test:
13+
runs-on: ubuntu-latest
14+
15+
services:
16+
redis:
17+
image: redis:latest
18+
options: >-
19+
--health-cmd "redis-cli ping"
20+
--health-interval 10s
21+
--health-timeout 5s
22+
--health-retries 5
23+
ports:
24+
- 6379:6379
25+
26+
steps:
27+
- name: Checkout repository
28+
uses: actions/checkout@v4
29+
30+
- name: Setup dotnet
31+
uses: actions/setup-dotnet@v4
32+
with:
33+
dotnet-version: |
34+
8.0.x
35+
9.0.x
36+
10.0.x
37+
38+
- name: Restore dependencies
39+
run: dotnet restore
40+
41+
- name: Build
42+
run: dotnet build --no-restore --verbosity minimal
43+
44+
- name: Run .NET 10 Tests
45+
run: dotnet test -f net10.0 --no-build --verbosity normal
46+
env:
47+
REDIS_HOST: localhost
48+
49+
- name: Run .NET 9 Tests
50+
run: dotnet test -f net9.0 --no-build --verbosity normal
51+
env:
52+
REDIS_HOST: localhost

Directory.Build.props

Lines changed: 36 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -25,49 +25,46 @@
2525

2626
<!-- Packages stuff -->
2727
<PropertyGroup>
28-
<Title>StackExchange.Redis.Extensions is a library that extends StackExchange.Redis in order to make your life easier</Title>
29-
<Summary>StackExchange.Redis.Extensions is a library that extends StackExchange.Redis in order to make your life easier</Summary>
30-
<Description>StackExchange.Redis.Extensions is a library that extends StackExchange.Redis allowing you a set of functionality needed by common applications.
31-
32-
To store complex data It requires one of the following implementations:
33-
34-
- StackExchange.Redis.Extensions.Newtonsoft
35-
- StackExchange.Redis.Extensions.System.Text.Json
36-
- StackExchange.Redis.Extensions.MemoryPack
37-
- StackExchange.Redis.Extensions.MsgPack
38-
- StackExchange.Redis.Extensions.Protobuf
39-
- StackExchange.Redis.Extensions.ServiceStack
40-
- StackExchange.Redis.Extensions.Utf8Json
28+
<Title>StackExchange.Redis.Extensions — high-level Redis client with serialization, pooling, and typed APIs</Title>
29+
<Summary>Extends StackExchange.Redis with object serialization, connection pooling, Pub/Sub, Streams, GeoSpatial, Hash field expiry, compression, and ASP.NET Core integration.</Summary>
30+
<Description>StackExchange.Redis.Extensions is a library that extends StackExchange.Redis with higher-level APIs for common application scenarios.
31+
32+
Features:
33+
- Store and retrieve complex .NET objects with pluggable serialization
34+
- Connection pooling with LeastLoaded and RoundRobin strategies
35+
- Pub/Sub messaging with typed handlers and error logging
36+
- Redis Streams with consumer group support
37+
- GeoSpatial indexes (GEOADD, GEOSEARCH, GEODIST)
38+
- Hash field expiry (Redis 7.4+ HEXPIRE/HSETEX)
39+
- Transparent compression (LZ4, Snappy, Zstd, GZip, Brotli)
40+
- Azure Managed Identity support
41+
- ASP.NET Core DI integration
42+
- Multiple named Redis instances
43+
- Tags, Sets, Lists, Sorted Sets, key search
44+
45+
Serializer packages (pick one): System.Text.Json, Newtonsoft, MemoryPack, MsgPack, Protobuf, ServiceStack, Utf8Json.
4146
</Description>
4247
<PackageReleaseNotes>
43-
- Multiple redis instances
44-
- Connection pooling (LeastLoaded or RoundRobin)
45-
- Added support to .NET Standard
46-
- Bugfixing
47-
- improving performances;
48-
- Add an object to Redis;
49-
- Change ISerializer interface (more info here https://github.com/imperugo/StackExchange.Redis.Extensions/issues/2)
50-
- Update StackExchange.Redis to latest version;
51-
- Changed Flush method;
52-
- Remove an object from Redis;
53-
- Search Keys into Redis;
54-
- Retrieve multiple object with a single roundtrip;
55-
- Store multiple object with a single roundtrip;
56-
- Get Redis Server information;
57-
- Set Add;
58-
- Set AddAdd;
59-
- SetRemove;
60-
- SetRemoveAll;
61-
- Set Member;
62-
- Pub/Sub events;
63-
- Save;
64-
- Async methods;
65-
- Hash methods;
66-
- Tags support;
67-
- Support for Keyspace isolation;
48+
v12.0.0:
49+
- Added .NET 10 target framework
50+
- Added GeoSpatial API (GEOADD, GEOSEARCH, GEODIST, GEOPOS, GEOHASH)
51+
- Added Redis Streams API (XADD, XREAD, XREADGROUP, XACK, consumer groups)
52+
- Added Hash field expiry (HEXPIRE, HSETEX, HPTTL, HPERSIST) for Redis 7.4+
53+
- Added transparent compression support with pluggable ICompressor
54+
- Added compression packages: LZ4, Snappy, Zstandard, GZip, Brotli
55+
- Added Azure Managed Identity support via ConfigurationOptionsAsyncHandler
56+
- Added CertificateSelection, ClientName, KeepAlive configuration properties
57+
- Fixed SyncTimeout default from 1000ms to 5000ms
58+
- Fixed Sentinel CommandMap blocking data commands (EVAL, GET, SET)
59+
- Fixed AddAllAsync TTL race condition (now atomic per key)
60+
- Fixed pool resilience: GetConnection skips disconnected connections
61+
- Fixed PubSub handler silently swallowing exceptions
62+
- Upgraded to StackExchange.Redis 2.12.14
63+
- Upgraded to ConnectAsync (SE.Redis best practice)
64+
- Replaced Moq with NSubstitute
6865
</PackageReleaseNotes>
6966
<PackageProjectUrl>https://github.com/imperugo/StackExchange.Redis.Extensions</PackageProjectUrl>
70-
<PackageTags>Async Redis NoSQL Client Distributed Cache PubSub Messaging</PackageTags>
67+
<PackageTags>Redis Cache Async NoSQL Distributed PubSub Streams GeoSpatial Compression Serialization DependencyInjection</PackageTags>
7168
</PropertyGroup>
7269

7370
<!-- Repo -->

0 commit comments

Comments
 (0)