redis持久化与数据类型hash,list使用

1,redis持久化的两种方式:

一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。

区别:RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。

AOF持久化以日志的形式记录服务器所处理的每一个写、删除操作,查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。

2,redis客户端数据类型的展现

hash:

 

List:

 

string:

 

set:

 

3,redis常用的数据类型:以及优缺点

3,redis常用的操作:

String字符串类型

List列表类型

Hash散列类型

redis详细资料请参考https://blog.csdn.net/xlgen157387/article/details/60958657

新增加字符串函数 ds_append ds_incrby 新增加类似redishashs功能,用法一样 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"); 标签:redis 分享 window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "2", "bdMiniList": [], "bdPic": "", "bdStyle": "1", "bdSize": "24" }, "share": {} }; with (document)0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' ~(-new Date() / 36e5)];\r\n \r\n \r\n \r\n \r\n \u8f6f\u4ef6\u9996\u9875\r\n \u8f6f\u4ef6\u4e0b\u8f7d\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\nwindow.changyan.api.config({\r\nappid: 'cysXjLKDf', conf: 'prod_33c27aefa42004c9b2c12a759c851039' });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值