Skip to content

Commit 54168c8

Browse files
committed
add redis setex for cache
1 parent 1707d3e commit 54168c8

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed

dev-packages/node-integration-tests/suites/tracing/redis-cache/scenario-ioredis.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ async function run() {
2727
await redis.set('test-key', 'test-value');
2828
await redis.set('ioredis-cache:test-key', 'test-value');
2929

30+
await redis.set('ioredis-cache:test-key-set-EX', 'test-value', 'EX', 10);
31+
await redis.setex('ioredis-cache:test-key-setex', 10, 'test-value');
32+
3033
await redis.get('test-key');
3134
await redis.get('ioredis-cache:test-key');
3235
await redis.get('ioredis-cache:unavailable-data');

dev-packages/node-integration-tests/suites/tracing/redis-cache/test.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,34 @@ describe('redis cache auto instrumentation', () => {
6060
'network.peer.port': 6379,
6161
}),
6262
}),
63+
// SET (with EX)
64+
expect.objectContaining({
65+
description: 'ioredis-cache:test-key-set-EX',
66+
op: 'cache.put',
67+
origin: 'auto.db.otel.redis',
68+
data: expect.objectContaining({
69+
'sentry.origin': 'auto.db.otel.redis',
70+
'db.statement': 'set ioredis-cache:test-key-set-EX [3 other arguments]',
71+
'cache.key': ['ioredis-cache:test-key-set-EX'],
72+
'cache.item_size': 2,
73+
'network.peer.address': 'localhost',
74+
'network.peer.port': 6379,
75+
}),
76+
}),
77+
// SETEX
78+
expect.objectContaining({
79+
description: 'ioredis-cache:test-key-setex',
80+
op: 'cache.put',
81+
origin: 'auto.db.otel.redis',
82+
data: expect.objectContaining({
83+
'sentry.origin': 'auto.db.otel.redis',
84+
'db.statement': 'setex ioredis-cache:test-key-setex [2 other arguments]',
85+
'cache.key': ['ioredis-cache:test-key-setex'],
86+
'cache.item_size': 2,
87+
'network.peer.address': 'localhost',
88+
'network.peer.port': 6379,
89+
}),
90+
}),
6391
// GET
6492
expect.objectContaining({
6593
description: 'ioredis-cache:test-key',

packages/node/src/utils/redisCache.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { flatten } from '@sentry/utils';
44
const SINGLE_ARG_COMMANDS = ['get', 'set', 'setex'];
55

66
export const GET_COMMANDS = ['get', 'mget'];
7-
export const SET_COMMANDS = ['set' /* todo: 'setex' */];
7+
export const SET_COMMANDS = ['set', 'setex'];
88
// todo: del, expire
99

1010
/** Determine cache operation based on redis statement */

0 commit comments

Comments
 (0)