Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oleksiikraievyi/highload-sw-arch-hw-11
HW 11 for highload software architecture courses. https://prjctr.com/course/highload-software-architecture?gclid=EAIaIQobChMI7OOMjvf78wIVRjcYCh1axwtgEAAYASAAEgKm2_D_BwE
https://github.com/oleksiikraievyi/highload-sw-arch-hw-11
Last synced: 11 days ago
JSON representation
HW 11 for highload software architecture courses. https://prjctr.com/course/highload-software-architecture?gclid=EAIaIQobChMI7OOMjvf78wIVRjcYCh1axwtgEAAYASAAEgKm2_D_BwE
- Host: GitHub
- URL: https://github.com/oleksiikraievyi/highload-sw-arch-hw-11
- Owner: oleksiikraievyi
- Created: 2021-12-03T22:34:52.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2021-12-05T12:17:44.000Z (about 3 years ago)
- Last Synced: 2024-06-20T05:13:26.592Z (7 months ago)
- Language: C#
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# highload-sw-arch-hw-11
# Prerequisites
* docker
* linux + bash# 1. Run Redis cluster
```
./run.sh
```# 2. Observe keyspace info after 20k kvp without ttl inserted
```
docker-compose logs redis-data-filler
```# 3. Comparison of different maxmemory-policy with 1mb maxmemory and 20k kvp without ttl inserted
| Policy | Keys count after insertion | Errors
| :----: |:--------------------------:| -----:|
| volatile-lru | 2224 | OOM command not allowed when used memory > 'maxmemory' |
| allkeys-lru | 2225 | no errors |
| volatile-lfu | 2225 | OOM command not allowed when used memory > 'maxmemory' |
| allkeys-lfu | 1575 | no errors |
| volatile-random | 2224 | OOM command not allowed when used memory > 'maxmemory' |
| allkeys-random | 1484 | no errors |
| volatile-ttl | 2225 | OOM command not allowed when used memory > 'maxmemory' |
| noeviction | 2225 | OOM command not allowed when used memory > 'maxmemory' |# Note : if kvp is set (without ttl), for volatile policies error `OOM command not allowed` will occur. If use setex (with ttl) error is not reproduced
# 4. Redis client wrapper with cache stampede prevention is located in `./redis-client-wrapper/RedisClientWrapper.cs`
# 5. Cleanup
```
./cleanup.sh
```