前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rust实现的Redis内存数据库发布,性能炸裂!

Rust实现的Redis内存数据库发布,性能炸裂!

作者头像
Tinywan
发布2024-07-16 14:52:26
1050
发布2024-07-16 14:52:26
举报
文章被收录于专栏:开源技术小栈

概述

Rudis 是一个高性能内存数据库。Rudis 是采用 Rust 语言开发的项目,旨在利用 Rust 语言的优势来重新实现 Redis 的核心功能,以满足用户对高性能、可靠性和安全性的需求,同时保持与 Redis API 的兼容。

快速入门

  • 启动画面
代码语言:javascript
复制
     /\_____/\
    /  o   o  \          Rudis 0.0.1
   ( ==  ^  == )
    )         (          Bind: 127.0.0.1:6379
   (           )
  ( (  )   (  ) )        
 (__(__)___(__)__)
    
[2024-04-30T02:00:55Z INFO  rudis_server] Start loading appendfile
[=======================================] percent: 100% lines: 6/6 
[2024-04-30T02:00:55Z INFO  rudis_server] Server initialized
[2024-04-30T02:00:55Z INFO  rudis_server] Ready to accept connections
  • 本地调试
代码语言:javascript
复制
// 普通启动
cargo run

// 带参启动
cargo run -- --port 8848

// 指定配置
cargo run -- rudis.properties

// 构建程序
cargo build

cargo build --release 

cargo build --release --target=x86_64-unknown-linux-musl

启动参数

  • port 端口, 默认: 6379
  • save RDB 保存策略, 默认:None
  • password 密码, 默认:None
  • databases 数据库数量, 默认:16
  • appendfilename 持久化日志路径,默认:None
  • appendonly 开启持久化,默认:false
  • dbfilename 数据文件名,默认:dump.rdb
  • maxclients 会话上限,默认 1000
  • hz 定时任务的频率,默认 10(次/秒)
  • dir 数据持久化目录,默认 "./"
  • bind 绑定的主机地址

操作命令

echo 命令

代码语言:javascript
复制
127.0.0.1:6379> echo helloword
helloword

ping 命令

代码语言:javascript
复制
127.0.0.1:6379> ping
PONG

set 命令

代码语言:javascript
复制
127.0.0.1:6379> set user bailiang
OK

set 命令 [过期]

代码语言:javascript
复制
127.0.0.1:6379> set user bailiang px 10000
OK
127.0.0.1:6379> set user bailiang ex 10
OK

get 命令

代码语言:javascript
复制
127.0.0.1:6379> get user
bailiang

del 命令

代码语言:javascript
复制
127.0.0.1:6379> del username
(integer) 1
127.0.0.1:6379> del username password
(integer) 2

exists 命令

代码语言:javascript
复制
127.0.0.1:6379> exists user
(integer) 0

keys 命令

代码语言:javascript
复制
127.0.0.1:6379> keys *
(empty list or set)

auth 命令

代码语言:javascript
复制
127.0.0.1:6379> auth 123456
OK

expire 命令

代码语言:javascript
复制
127.0.0.1:6379> expire user 10000
(integer) 0

select 命令

代码语言:javascript
复制
127.0.0.1:6379> select 1
OK

dbsize 命令

代码语言:javascript
复制
127.0.0.1:6379> dbsize
(integer) 2

flushdb 命令

代码语言:javascript
复制
127.0.0.1:6379> flushdb
OK

flushall 命令

代码语言:javascript
复制
127.0.0.1:6379> flushall
OK

append 命令

代码语言:javascript
复制
127.0.0.1:6379> append user bailiang
(integer) 10

move 命令

代码语言:javascript
复制
127.0.0.1:6379> move user 0
OK

rename 命令

代码语言:javascript
复制
127.0.0.1:6379> rename username new_username
OK

rpush 命令

代码语言:javascript
复制
127.0.0.1:6379> rpush key value1 value2
OK

lpush 命令

代码语言:javascript
复制
127.0.0.1:6379> lpush key value3 value4
OK

llen 命令

代码语言:javascript
复制
127.0.0.1:6379> llen key
(integer) 4

命令列表

Command

Supprt

Appendfile

Test case

Document

set

get

del

echo

flushdb

flushall

dbsize

auth

select

llen

exists

expire

rename

move

lpush

rpush

append

incr

decr

lindex

lpop

rpop

lrange

ttl

pttl

type

sadd

smembers

scard

hmset

hget

hdel

hexists

hset

keys

zadd

zscore

zcard

zcount

pexpire

mset

性能测试

  • percent: 100% lines: 100000/100000 time: 00:00:04
  • percent: 100% lines: 200000/200000 time: 00:00:09
  • percent: 100% lines: 400000/400000 time: 00:00:19
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 快速入门
  • 启动参数
  • 操作命令
  • 命令列表
  • 性能测试
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档