Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

NeverCL/Redis.Extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

14 Commits

Repository files navigation

Redis.Extension

.NET 基于StackExchange.Redis的扩展

目录

  • 简介

  • 主从复制

  • 备份与恢复

  • API

    • AddOrUpdate
    • GetOrAdd
    • DeleteByPattern
    • SearchKeys
    • TransExcute
    • Subscribe/Publish
  • Todo

    • .NET Core
    • Configuration
    • Log
    • Async

简介

  • Redis.Extension GitHub

  • Redis.Extension nuget

  • Redis 开源的分布式NoSQL,c语言开发,存储结构:key-value

  • 持久化(容灾)

    • snapshot(快照)
      • Redis默认持久化方式,每次保存RDB的时候,fork()出1个子进程进行持久化
      • dump.rdb
      • 配置n秒超过m个key 开始快照
      • 性能高,丢失数据比较多
    • Append-only file(aof)
      • 新命令到达则fsync一次,文件足够大的时候,rewrite一次。
      • appendfilename "appendonly.aof" 设置存储文件
      • appendfsync 设置频率
      • auto-aof-rewrite 设置自动重写
      • 性能稍慢,丢失数据非常少
  • 5种数据类型:string,list(链表),hash(哈希),set(集合),zset(排序集合)

安装

  • Windows

    • 管理多个服务实例
      • redis-server.exe --service-install redis.windows-service --service-name Redis --port 6369
      • sc delete Redis
    • 直接启动
      • redis-server.exe redis.windows.conf
  • Linux

    • 源码包
    • docker
  • Mac

    • brew
    • docker

主从复制

  • 过程

    • 当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。
    • 无论是第一次同步建立的连接还是连接断开后的重新连接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。
    • 后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上。
    • 接着master就会把缓存的命令转发给slave。
    • 而且后续master收到的写命令都会通过开始建立的连接发送给slave。
    • 从master到slave的同步数据的命令和从client发送的命令使用相同的协议格式。
    • 当master和slave的连接断开时slave可以自动重新建立连接。
    • 如果master同时收到多个slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。
  • 配置

    • slaveof 127.0.0.1 6379

API

  • 具体的API调用可以 可以直接参考ManagerTest。
  • AddOrUpdate 支持指定具体时间点 缓存失效
  • AddOrUpdate 支持指定具体时间点 缓存失效
  • GetOrAdd 支持检测缓存 再读库操作
  • DeleteByPattern 支持根据key模糊删除
  • SearchKeys 支持查询Keys
  • TransExcute 支持Redis事务执行
  • Subscribe 支持快速订阅消息
  • Publish 支持快速发布消息

备份与恢复

  • appendfilename "appendonly.aof"

  • snapshot "dump.rdb"

使用

  • string: set | get
  • hash: hmset | hgetall
  • list: lpush | lrange
  • set: sadd | smembers
  • zset: zadd | zrange
  • save bgsave
  • subscribe publish
  • keys *
  • info

About

.NET 基于StackExchange.Redis的扩展

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /