redis-storage

Redis的持久化存储
授权协议 BSD
开发语言 C/C++
所属分类 数据库相关、 NoSQL数据库
软件类型 开源软件
地区 国产
投 递 者 洪昱
操作系统 Linux
开源组织
适用人群 未知
 软件概览

新增加字符串函数

ds_append
ds_incrby

新增加类似redis的hashs功能,用法一样

ds_hdel
ds_hget
ds_hset
ds_hmget
ds_hmset
ds_hincrby
ds_hgetall

redis-storage

  • 基于最新的redis-2.6.7开发的
  • 用luajit替换LUA,增强lua执行性能
  • author: 七夜, shenzhe
  • QQ: 531020471
  • QQ群: 62116204(已满)
  • QQ群: 154249567 (未满)
  • mail: lijinxing@gmail.com, shenzhe163@gmail.com

安装 redis-storage

https://github.com/qiye/redis-storage 获取源码
    
make init
make MALLOC=tcmalloc_minimal

这一步需要root权限
make install PREFIX=/usr/local/redis

修改redis配置文件

ds:create_if_missing 1                //if the specified database didn't exist will create a new one
ds:error_if_exists 0                  //if the opened database exsits will throw exception
ds:paranoid_checks 0
ds:block_cache_size 10000
ds:write_buffer_size 100000000       //写缓存大小
ds:block_size 4096
ds:max_open_files 8000               //leveldb最多可以使用的檔案數,一個檔案可以儲存 2MB 的資料。
ds:block_restart_interval 16
ds:path /usr/local/redis/db/leveldb  //leveldb save path

redis new cmd 用法跟redis的一样

ds_append
ds_incrby
ds_hdel
ds_hget
ds_hset
ds_hmget
ds_hmset
ds_hincrby
ds_hgetall    
ds_set name qiye
ds_get name
ds_del name 
ds_mset key value age 20
ds_mget key age
ds_del key age
rl_set name shenzhe  //先把数据存到leveldb,再存到redis
rl_get name          //先尝试从redis取数据,如没取到,再尝试从redis取数据
rl_del name          //先从leveldb删除数据,再从redis删除数据

cd php-hiredis/

//php code 
include "redis.php";
$db = new redis("127.0.0.1", 6379);
$rc = $db->connect();
if(!$rc)
{
   echo "can not connect redis server\r\n";
   exit;
}  
$data = $db->multi(array('DEL test', 'SET test 1', 'GET test'));
print_r($data);
echo $db->set("name", "qiye");
echo $db->get("name");
$db->ds_set("name", "qiye");
$db->ds_set("age", "20");
$data = $db->ds_mget( "name", "age");
print_r($data);

php开发者推荐使用 phpredis 加强版 专门针对redis-storage的php扩展

地址: https://github.com/shenzhe/phpredis

$redis->dsSet("name", "shenzhe");                               //把数据存到leveldb
$redis->dsGet("name");                                          //从leveldb取出数据, 输出 shenzhe
$redis->dsMSet(array("daniu"=>"qiye","cainiao"=>"shenzhe"));    //批量把数据存到leveldb; keys结构 array("key1"=>"val1", "key2"=>"val2")       
$redis->dsMGet(array("qiye", "cainiao"));                       //批量从leveldb取出数据
$redis->dsDel("name");                                          //从leveldb删除数据, $key可以是字符串,也可是key的数组集合(相当于批量删除)
$redis->dsDel(array("daniu","cainiao"));                        //从leveldb删除数据, $key可以是字符串,也可是key的数组集合(相当于批量删除)
$redis->rlSet("name", "zeze");                                  //先把数据存到leveldb,再存到redis
$redis->rlGet("name");
$redis->get("name");
$redis->dsGet("name");
$redis->rlDel("name");

 

 

 

  • 背景: 当时我们正在做一个游戏项目,游戏项目相比于web项目,更追求的是单机的性能,而我们对单个请求的处理时间有着bt级的需求(一个完整的api请求控制在10ms以内)。当时我们的数据层用的是ttserver,但他在我们之前项目中有一些比较不好处理的问题,所以我一直在寻找的替代方向,而这时redis的横空出世,给nosql世界带来了不小的震动,相比于memcache, 丰富的数据结构,给了很多人更

  • 关系数据库与非关系型数据库 ●关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。 主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2 等。 ●非关系型数据库 NoSQL(NoS

  • redis:内存级别 redis-storage:内存+磁盘   支持ds_set指令,将数据直接放入磁盘 pika:磁盘     自定义redis-storage使用工具包,添加ds_set,ds_get方法,实质上是redis服务内部支持了DS_GET,DS_SET命令; 自行编写的相关源码参照jedis的源码进行增加了部分源码 CommonCodisPool.class---------

  • 安装redis-operator install.sh [root@linux:redis-operator]$ cat install.sh #!/usr/bin/env bash # This script is for installing OLM from a GitHub release set -e default_base_url=https://github.com/op

  • 增强版扩展是针对 redis-straoge 做的 redis-stroage 简价:给redis配上leveldb持久引擎,麻麻再也不用担心我的内存了。 注意 新增命令: $redis->dsGet($key): 从leveldb取出数据 $redis->dsExists($key); key是否存在 $redis->dsMGet(array $keys) : 批量从leveldb取出数据,注:

  • 目录 摘要: 文档: Controller logic Creation pipeline redis-operator  Directories ¶ Folder structure Code folder structure

  • 目录 摘要: 需求分析: 功能需求: 性能需求: 数据安全性及高可用:

  • 一 安装Prometheus 我们需要对prometheus的数据目录跟配置文件目录做持久化并且设置数据删除时间90天,至于数据目录挂在可以提前copy出来一份 docker run -d --name=prometheus -v /opt/prome/conf/prometheus:/etc/prometheus -v /opt/prome/data/prometheus:/promethe

  • https://segmentfault.com/a/1190000039196137 redis-cluster集群的部署网上一堆,用k8s部署也不在少数,但都是抄来抄去,问题不少,实际操作分享出来的还是太少。 1、redis启动配置文件,使用CofigMap来管理比较方便,redis-config.yaml apiVersion: v1 kind: ConfigMap metadata: n

  • 报错信息: Caused by: redis.clients.jedis.exceptions.JedisConnectionException: All sentinels down, cannot determine where is redis-sentinel master is running…    1、可用telnet ip+端口 看是否连接成功查看:  D:\>telnet 38.

 相关资料
  • Redis 支持持久化,即把数据存储到硬盘中。 Redis 提供了两种持久化方式: RDB 快照(snapshot) - 将存在于某一时刻的所有数据都写入到硬盘中。 只追加文件(append-only file,AOF) - 它会在执行写命令时,将被执行的写命令复制到硬盘中。 这两种持久化方式既可以同时使用,也可以单独使用。 将内存中的数据存储到硬盘的一个主要原因是为了在之后重用数据,或者是为了防

  • 主要内容:开启AOF持久化,AOF持久化机制,AOF策略配置,AOF和RDB对比AOF 被称为追加模式,或日志模式,是 Redis 提供的另一种持久化策略,它能够存储 Redis 服务器已经执行过的的命令,并且只记录对内存有过修改的命令,这种数据记录方法,被叫做“增量复制”,其默认存储文件为 。 开启AOF持久化 AOF 机制默认处于未开启状态,可以通过修改 Redis 配置文件开启 AOF,如下所示: 1) Windows系统 执行如下操作: 2) Linux系统 执行如下

  • 主要内容:RDB快照模式原理,RDB持久化触发策略,RDB持久化优劣势Redis 是一款基于内存的非关系型数据库,它会将数据全部存储在内存中。但是如果 Redis 服务器出现某些意外情况,比如宕机或者断电等,那么内存中的数据就会全部丢失。因此必须有一种机制能够保证 Redis 储存的数据不会因故障而丢失,这就是 Redis 的数据持久化机制。 数据的持久化存储是 Redis 的重要特性之一,它能够将内存中的数据保存到本地磁盘中,实现对数据的持久存储。这样即使在服务器

  • 本文向大家介绍redis持久化的介绍,包括了redis持久化的介绍的使用技巧和注意事项,需要的朋友参考一下 1. RDB 1.1 RDB简介 RDB:在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。 工作机制:每隔一段时间,就把内存中的数据保存到硬盘上的指定文件中。 RDB是默认开启的! Redis会单独创建(fork)一个子

  • 主要内容:1 数据持久化,2 RDB(Redis DataBase)快照,2.1 RDB的原理,2.1 RDB的优缺点,2 AOF(append-only file)追加,2.1 AOF的原理,2.2 AOF重写,2.3 AOF的优缺点,3 混合持久化策略详细介绍了Redis的持久化机制,包括RDB与AOF持久化,以及混合持久化。 1 数据持久化 为了重启机器、机器故障、系统故障之后恢复数据,将内存中的数据写入到硬盘里面,这就是持久化,Redis恰好支持数据的持久化,这也是相比于Memcache

  • 本平台是通过storageclass来动态创建PV。也就是说咱们依赖于storageclass,如果您的Kubernetes不支持相应的存储试,将无法非常方便的进行挂载。 目前暂不支持挂载多个PVC,或许以后会更新吧。 这里演示的是用的NFS进行演示,实际使用时可根据自己的需求配置相应的provisioner,其他配置是一样的不需要调整,只需要在“模版管理” 调整StorageClass和Pers

  • 本文向大家介绍Redis的持久化方案详解,包括了Redis的持久化方案详解的使用技巧和注意事项,需要的朋友参考一下 Redis支持RDB与AOF两种持久化机制,持久化可以避免因进程异常退出或down机导致的数据丢失问题,在下次重启时能利用之前的持久化文件实现数据恢复。 RDB持久化 RDB持久化即通过创建快照(压缩的二进制文件)的方式进行持久化,保存某个时间点的全量数据。RDB持久化是Redis默

  • 本文向大家介绍内存型数据库Redis持久化小结,包括了内存型数据库Redis持久化小结的使用技巧和注意事项,需要的朋友参考一下 因为Redis是内存型数据库,所以为了防止因为系统崩溃等原因导致数据丢失的问题,Redis提供了两种不同的持久化方法来将数据存储在硬盘里面,一种方法是快照(RDB),它可以将存在于某一个时刻的所有数据都写入到硬盘里面,另外一种方法是只追加文件(AOF),它会在执行写命令时