资讯专栏INFORMATION COLUMN

redis操作类

xiguadada / 2198人阅读

摘要:用于崩溃后,的恢复。缺点文件比文件大,且恢复速度慢。,安全性较差,它是正常时期数据备份以及数据同步的最佳手段,文件尺寸较小,恢复数度较快。首先我们要知道一个实例就是一个节点,每个节点分配一个端口号,每个节点对应一个配置文件。

1.代码示例

rCache)
        {
            return $this->rCache;
        }
        $this->rCache = new Redis();
        $this->rCache->connect($host,$port);
    }

    /**
     * 获取key值
     * @author mmy
     * @param $key
     * @return bool|string
     */
    public function get($key)
    {
        $res = md5(static::CACHE_KEY.$key);
        return $this->rCache->get($res);
    }

    /**
     * 设置key值方法
     * @author mmy
     * @param $key
     * @param $value
     * @param int $timeout
     * @return bool
     */
    public function set($key,$value,$timeout=0)
    {
        $key = md5(static::CACHE_KEY.$key);
        if($timeout===0)
        {
            $res = $this->rCache->set($key,$value);
        }
        else
        {
            $res = $this->rCache->set($key,$value,$timeout);
        }
        return $res;
    }

    /**
     * 队列插入值
     * @author mmy
     * @param $key
     * @param $string
     * @param int $limit
     */
    public function push($key,$string,$limit = 0)
    {
        $key = md5(static::CACHE_KEY.$key);
        $result = $this->rCache->lPush($key,$string);
        //执行lTrim方法 保证队列中只有$limit条数据
        if($limit>1)
        {
            $result = $this->rCache->lTrim($key,0,$limit);// 0:从最先进的数据开始算,-1:从最后进的数据计算
        }

        return $result;
    }

    /**
     * 获取消息列表内容
     * @author mmy
     * @param $key
     * @return array
     */
    public function range($key)
    {
        $key = md5(static::CACHE_KEY.$key);
        return $this->rCache->lRange($key,0,-1);
    }


}

2.检测

 $rest = $redis->push($message_data["userid"],$message_data["name"]);
                echo "-----------------------";
                 print_r( $redis->range($message_data["userid"]));
                echo $rest;

3.redis linux
1》Linux下安装Reids
http://redis.io/download

wget http://download.redis.io/releases/redis-3.0.1.tar.gz 下载
tar -xzvf redis-3.0.1.tar.gz 解压
cd redis-3.0.1 进入解压目录
make 编译 安装
make install

2》在bin下可执行的程序
redis-server:Redis服务器
redis-cli:命令行客户端
redis-benchmark:Redis的性能测试工具
redis-check-aof:AOF文件修复工具
redis-check-dump:RDB文件检测工具

redis.conf是Redis的配置文件
将配置文件中daemonize yes 以守护进程的方式来使用

3》启动和停止Redis

直接启动
    redis-server
    redis-server /ect/redis.conf
停止Redis
    shutdown
    结束Redis的进程也可以

aof,rdb是两种 Redis持久化的机制。用于crash(崩溃)后,redis的恢复。

aof:Append-only file
        将“操作 + 数据”以格式化指令的方式追加到操作日志文件的尾部,在append操作返回后(已经写入到文件或
者即将写入),才进行实际的数据变更,“日志文件”保存了历史所有的操作过程;当server需要数据恢复时,可以直接
replay此日志文件,即可还原所有的操作过程。AOF相对可靠,它和MySQL中bin.log、pache.log、zookeeper中txn-log简直异曲同工。AOF文件内容是字符串,非常容易阅读和解析。 

rdb:

RDB默认开启,redis.conf中的具体配置参数如下;

#dbfilename:持久化数据存储在本地的文件
dbfilename dump.rdb
#dir:持久化数据存储在本地的路径,如果是在/redis/redis-3.0.6/src下启动的redis-cli,则数据会存储在当前src目录下
dir ./
##snapshot触发的时机,save    
##如下为900秒后,至少有一个变更操作,才会snapshot  
##对于此值的设置,需要谨慎,评估系统的变更操作密集程度  
##可以通过“save “””来关闭snapshot功能  
#save时间,以下分别表示更改了1个key时间隔900s进行持久化存储;更改了10个key300s进行存储;更改10000个
key60s进行存储。
save 900 1
save 300 10
save 60 10000
##当snapshot时出现错误无法继续时,是否阻塞客户端“变更操作”,“错误”可能因为磁盘已满/磁盘故障/OS级别异常
等  
stop-writes-on-bgsave-error yes  
##是否启用rdb文件压缩,默认为“yes”,压缩往往意味着“额外的cpu消耗”,同时也意味这较小的文件尺寸以及较短
的网络传输时间  
rdbcompression yes 
客户端使用命令进行持久化save存储:

./redis-cli -h ip -p port save
./redis-cli -h ip -p port bgsave
aof优缺点:

    优点:
       可以保持更高的数据完整性,如果设置追加file的时间是1s,如果redis发生故障,最多会丢失1s的数据;且如果日志写入不完整支持redis-check-aof来进行日志修复;AOF文件没被rewrite之前(文件过大时会对命令进行合并重写),可以删除其中的某些命令(比如误操作的flushall)。 
    缺点:
       AOF文件比RDB文件大,且恢复速度慢。
    
rdb优缺点:
   RDB是在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。 

优点:
   使用多带带子进程来进行持久化,主进程不会进行任何IO操作,保证了redis的高性能 
缺点:
   RDB是间隔一段时间进行持久化,如果持久化之间redis发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候
    
1) AOF更加安全,可以将数据更加及时的同步到文件中,但是AOF需要较多的磁盘IO开支,AOF文件尺寸较大,文件内
容恢复数度相对较慢。 
2) snapshot,安全性较差,它是“正常时期”数据备份以及master-slave数据同步的最佳手段,文件尺寸较小,恢复
数度较快。

redis 其他端口开放服务

/etc/init.d/redis-server-------------redis的可执行程序
/etc/redis/redis.conf----------------redis的配置文件
/usr/bin/redis-server---------------redis的自启动文件

如果是单实例运行redis的话,那么到这里就不需要关心了,如果你想运行多个redis的实例,那么就需要对redis文件进行操作。
首先我们要知道redis一个实例就是一个节点,每个节点分配一个端口号,每个节点对应一个redis.conf配置文件。
redis默认配置的端口号是6379,假设现在要多配置一个6380,我们可以直接复制redis.conf命名为redis6380.conf,并且编辑配置文件
cp /etc/redis/redis.conf /etc/redis/redis6380.conf

vi /etc/redis/redis6380.conf
需要修改几个参数
pidfile /var/run/redis/redis6380-server.pid
port 6380

logfile /var/log/redis/redis6380-server.log

dbfilename dump6380.rdb

然后保存,直接启动这个配置文件就行了
redis-server /etc/redis/redis6380.conf

我们可以查看下进程
ps auxf | grep redis-server

杀掉进程 
kill -9 +进程号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/36241.html

相关文章

  • SpringBoot集成Redis

    摘要:集成文章目录集成概述测试自定义概述是什么,即远程字典服务。是一个开源的使用语言编写支持网络可基于内存亦可持久化的日志型数据库,并提供多种语言的。与一样,为了保证效率,数据都是缓存在内存中。 ...

    kuangcaibao 评论0 收藏0
  • Spring Boot 2.x(十四):整合Redis,看这一篇就够了

    摘要:丰富的特性还支持通知过期等等特性。到这个就说明测试通过了。主要针对方法配置,能够根据方法的请求参数对其进行缓存,常用于查询操作主要针对方法配置,能够根据方法的请求参数对其进行缓存,常用于修改操作清空缓存,主要用于删除操作。 [TOC] Redis简介 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数...

    Miracle 评论0 收藏0
  • springboot_database项目介绍

    摘要:操作操作对象设置缓存时间有效时间等待等待设置为的时候后面可能取到值,的过期时间有延迟注意操作对象时对象需要实现序列化接口两者操作互不影响生成为生称为数据库文件相关相关相关相关相关相关相关相关相关相关相关相关 springboot_database springboot1.5.7集成mybatis、jpa、redis、mongodb,对不同数据库进行操作的实例项目代码获取:https:/...

    tracymac7 评论0 收藏0
  • springboot_database项目介绍

    摘要:操作操作对象设置缓存时间有效时间等待等待设置为的时候后面可能取到值,的过期时间有延迟注意操作对象时对象需要实现序列化接口两者操作互不影响生成为生称为数据库文件相关相关相关相关相关相关相关相关相关相关相关相关 springboot_database springboot1.5.7集成mybatis、jpa、redis、mongodb,对不同数据库进行操作的实例项目代码获取:https:/...

    dkzwm 评论0 收藏0
  • redis系列:基于redis的分布式锁

    摘要:一介绍这篇博文讲介绍如何一步步构建一个基于的分布式锁。五总结这篇文章讲述了一个基于的分布式锁的编写过程及解决问题的思路,但是本篇文章实现的分布式锁并不适合用于生产环境。 一、介绍 这篇博文讲介绍如何一步步构建一个基于Redis的分布式锁。会从最原始的版本开始,然后根据问题进行调整,最后完成一个较为合理的分布式锁。 本篇文章会将分布式锁的实现分为两部分,一个是单机环境,另一个是集群环境下...

    褰辩话 评论0 收藏0
  • 使用 TiKV 构建分布式 Redis 服务

    摘要:提供了集群支持,但也不能支持跨多个节点的分布式事务。是一个高性能,支持分布式事务的数据库。譬如,我们就构建了,一个基于的,兼容的分布式关系型数据库。它使用作为每行的分隔符并且用不同的前缀来代表不同的类型。 什么是 Redis Redis 是一个开源的,高性能的,支持多种数据结构的内存数据库,已经被广泛用于数据库,缓存,消息队列等领域。它有着丰富的数据结构支持,譬如 String,Has...

    荆兆峰 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<