基础命令
Auth - 认证
使用密码认证 Redis 服务器:
vb
' 使用密码认证
If oRedis.Auth("mypassword") Then
Debug.Print "认证成功"
Else
Debug.Print "认证失败: " & oRedis.LastError
End IfSelectDb - 选择数据库
Redis 支持多个数据库(默认为 0-15):
vb
' 切换到数据库 1
If oRedis.SelectDb(1) Then
Debug.Print "已切换到数据库 1"
End If
' 或直接设置属性
oRedis.DbIndex = 2 ' 切换到数据库 2示例:多数据库使用
vb
' 在数据库 0 中存储用户数据
oRedis.SelectDb 0
oRedis.Set_ "user:1", "张三"
oRedis.Set_ "user:2", "李四"
' 在数据库 1 中存储配置数据
oRedis.SelectDb 1
oRedis.Set_ "config:appname", "MyApp"
oRedis.Set_ "config:version", "1.0.0"
' 切换回数据库 0
oRedis.SelectDb 0Ping - 测试连接
测试与 Redis 服务器的连接:
vb
Dim sResult As String
sResult = oRedis.Ping()
Debug.Print sResult ' 输出: PONG用途:
- 检查连接是否仍然活跃
- 监控服务器响应时间
- 心跳检测
Info - 获取服务器信息
获取所有信息
vb
Dim sInfo As String
sInfo = oRedis.Info()
Debug.Print sInfo获取特定部分的信息
vb
' 获取服务器信息
sInfo = oRedis.Info("server")
Debug.Print sInfo
' 获取内存信息
sInfo = oRedis.Info("memory")
' 获取持久化信息
sInfo = oRedis.Info("persistence")
' 获取统计信息
sInfo = oRedis.Info("stats")
' 获取复制信息
sInfo = oRedis.Info("replication")FlushDb - 清空当前数据库
清空当前数据库中的所有键:
vb
If oRedis.FlushDb() Then
Debug.Print "数据库已清空"
Else
Debug.Print "清空失败: " & oRedis.LastError
End If警告:此操作不可逆,请谨慎使用!
基础键操作
Del - 删除键
vb
' 删除单个键
oRedis.Del "name"
' 删除多个键
oRedis.Del "key1", "key2", "key3"Exists - 检查键是否存在
vb
' 检查单个键
If oRedis.Exists("name") > 0 Then
Debug.Print "键存在"
End If
' 检查多个键
Dim lCount As Long
lCount = oRedis.Exists("key1", "key2", "key3")
Debug.Print "存在 " & lCount & " 个键"Keys - 查找键
vb
' 查找所有键
Dim vKeys As Variant
vKeys = oRedis.Keys("*")
' 查找以 "user:" 开头的键
vKeys = oRedis.Keys("user:*")
' 查找以 "session" 结尾的键
vKeys = oRedis.Keys("*session")
' 输出所有键
Dim i As Long
If IsArray(vKeys) Then
For i = 0 To UBound(vKeys)
Debug.Print vKeys(i)
Next
End If注意: KEYS 命令在生产环境中应谨慎使用,因为它会扫描整个数据库,可能影响性能。
过期时间管理
Expire - 设置过期时间
vb
' 设置键的过期时间(秒)
oRedis.Expire "name", 300 ' 5分钟后过期
' 设置会话过期时间为 1 小时
oRedis.Expire "session:123", 3600TTL - 获取剩余生存时间
vb
Dim lTTL As Long
lTTL = oRedis.TTL("name")
If lTTL = -1 Then
Debug.Print "键永不过期"
ElseIf lTTL = -2 Then
Debug.Print "键不存在"
Else
Debug.Print "剩余 " & lTTL & " 秒"
End IfTTL 返回值说明:
-2:键不存在-1:键存在但没有设置过期时间>= 0:键的剩余生存时间(秒)
示例:完整的键管理
vb
Sub Example_KeyManagement()
Dim oRedis As New cRedisClient
If Not oRedis.Connect() Then
Debug.Print "连接失败: " & oRedis.LastError
Exit Sub
End If
' 设置键值
oRedis.Set_ "user:1001", "张三"
oRedis.Set_ "user:1002", "李四"
oRedis.Set_ "config:timeout", "30"
' 设置过期时间
oRedis.Expire "user:1001", 3600 ' 1小时
oRedis.Expire "user:1002", 7200 ' 2小时
' 查找所有用户键
Dim vKeys As Variant
vKeys = oRedis.Keys("user:*")
Debug.Print "用户键数量: " & (UBound(vKeys) + 1)
' 检查键是否存在
If oRedis.Exists("user:1001") > 0 Then
Debug.Print "用户 1001 存在,剩余时间: " & oRedis.TTL("user:1001") & " 秒"
End If
' 清理配置键
oRedis.Del "config:timeout"
' 断开连接
oRedis.DisConnect
End Sub