You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-12-15 23:55:38 +03:00
* CSC POC ontop of Parser * add csc file that weren't merged after patch * address review comments * nits to try and fix github * last change from review * Update client-side cache and improve documentation * Add client side caching RESP3 validation * Add documentation for RESP and unstableResp3 options * Add comprehensive cache statistics The `CacheStats` class provides detailed metrics like hit/miss counts, load success/failure counts, total load time, and eviction counts. It also offers derived metrics such as hit/miss rates, load failure rate, and average load penalty. The design is inspired by Caffeine. `BasicClientSideCache` now uses a `StatsCounter` to accumulate these statistics, exposed via a new `stats()` method. The previous `cacheHits()` and `cacheMisses()` methods have been removed. A `recordStats` option (default: true) in `ClientSideCacheConfig` allows disabling statistics collection. --------- Co-authored-by: Shaya Potter <shaya@redislabs.com>
33 lines
888 B
TypeScript
33 lines
888 B
TypeScript
import { CommandParser } from '../client/parser';
|
|
import { RedisArgument, NumberReply, Command } from '../RESP/types';
|
|
import { GeoSearchFrom, GeoSearchBy, GeoSearchOptions, parseGeoSearchArguments } from './GEOSEARCH';
|
|
|
|
export interface GeoSearchStoreOptions extends GeoSearchOptions {
|
|
STOREDIST?: boolean;
|
|
}
|
|
|
|
export default {
|
|
IS_READ_ONLY: false,
|
|
parseCommand(
|
|
parser: CommandParser,
|
|
destination: RedisArgument,
|
|
source: RedisArgument,
|
|
from: GeoSearchFrom,
|
|
by: GeoSearchBy,
|
|
options?: GeoSearchStoreOptions
|
|
) {
|
|
parser.push('GEOSEARCHSTORE');
|
|
|
|
if (destination !== undefined) {
|
|
parser.pushKey(destination);
|
|
}
|
|
|
|
parseGeoSearchArguments(parser, source, from, by, options);
|
|
|
|
if (options?.STOREDIST) {
|
|
parser.push('STOREDIST');
|
|
}
|
|
},
|
|
transformReply: undefined as unknown as () => NumberReply
|
|
} as const satisfies Command;
|