redis学习笔记-安装与入门

Linux下安装redis

mkdir /usr/local/redis  && cd /usr/local/redis
下载:wget http://download.redis.io/releases/redis-3.0.5.tar.gz
解压:tar xzf redis-3.0.5.tar.gz
安装到指定目录:
cd redis-3.0.5
make PREFIX=/usr/local/redis install  

将redis做成一个服务

  1. 复制并重命名脚本
    cp /usr/local/redis/redis-3.0.5/utils/redis_init_script /etc/rc.d/init.d/redis

  2. 因为默认redis服务不支持chkconfig,所以需要修改redis脚本,增加:
    #chkconfig: 2345 80 90
    注意脚本中EXEC、CLIEXEC的路径是否正确(对应redis-server、redis-cli的安装目录)

  3. 复制conf文件到相应位置,与脚本中CONF配置一致
    cp /usr/local/redis/redis-3.0.5/redis.conf /etc/redis/6379.conf

  4. 添加并启动服务
    chkconofig --add redis
    service redis start

将redis的命令所在目录添加到系统参数PATH中

vi /etc/profile
export PATH="$PATH:/usr/local/redis/bin"
这样我们可以直接使用redis-cli来连接redis服务器了,不用每次都跑到bin目录下执行命令。

查看redis版本

redis-server --version  // 查看服务端版本
redis-cli --version  // 查看客户端版本
或者连接redis server后使用info命令也可以查看

基本数据类型和常用命令

数据类型

redis的键总是一个字符串对象,而值则可以是任意一种Redis对象类型,包括字
符串对象、哈希表对象、列表对象、集合对象和有序集合对象,分别对应字符串键
哈希表键、列表键、集合键和有序集合键。

redis数据类型

redis会根据不同的使用场景来为一个对象设置不同的编码,从而来优化对象在某一场景下的效率。

常用命令列表

redis命令
redis命令
redis命令

redis持久化

因为redis是内存数据库,它将自己的数据库状态储存在内存里面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据库状态也会消失不见。
为了解决这个问题,redis提供了两种持久化机制:RDB & AOF。可以将redis在内存中的数据库状态保存到磁盘特定文件里,在redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。

RDB

在指定的时间间隔内将内存中的数据集快照写入磁盘。

通过命令执行

save  // 阻塞服务器其它操作
bgsave  // 通过子进程执行,非阻塞

redis自动间隔性保存

根据conf配置文件中save选项来设置:
clipboard.png
如图,默认900秒1次修改、300秒10次修改、60秒10000次修改redis会自动执行RDB持久化。

AOF

以日志的形式记录服务器所处理的每一个写操作,如果服务器开启了AOF持久化(appendonly yes)功能,那么服务器会优先使用AOF文件来还原数据库状态。

持久化实现

追加至aof_buf缓存区 -> 文件写入 -> 文件同步(保存),服务器配置的appendfsync选项的值直接决定AOF持久化功能的效率和安全性。
clipboard.png

AOF文件重写

因为AOF持久化是通过保存被执行的写命令来记录数据库状态的,所以随着服务器运行时间的流逝,AOF文件中的内容会越来越多,文件的体积也会越来越大,如果不加以控制的话,体积过大的AOF文件很可能对redis服务器、甚至整个宿主计算机造成影响,并且AOF文件的体积越大,使用AOF文件来进行数据还原所需的时间就越多。
为了解决AOF文件体积膨胀的问题,redis提供了AOF文件重写(rewrite)功能。通过该功能,redis服务器可以创建一个新的AOF文件来替代现有的AOF文件,新旧两个AOF文件所保存的数据库状态相同,但新AOF文件不会包含任何浪费空间的冗余命令,所以新AOF文件的体积通常会比旧AOF文件的体积要小得多。

  • 手动执行:

    bgrewriteaof
    
  • 设置自动触发条件:
    clipboard.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python多列排序

python的sort()和sorted()函数可以进行多列排序。在一个文本或者列表有多列时,这是一个很好用的技巧。 首先,看一下待排序的数据 这是一个csv文件,它有6列,我们需要首先对第一列排序,再对第六列排序 46896961,19210048…

asp.net下用js实现弹出子窗口选定值并返回

对应上一篇博客代码&#xff1a; 父页面&#xff1a; 1 <head runat"server">2 <meta http-equiv"X-UA-Compatible" content"IE9" >3 <title></title>4 <script type"text/javascript">5 …

靠能力赚大钱,是最最可笑的谎言

很多人其实到现在也没弄明白他们是怎么赚钱的&#xff0c;很多人都会把自己成功归结为能力的结果&#xff0c;事实上这个是最大的可悲……靠能力赚钱&#xff0c;是一个弥天大谎&#xff01;我自己一直在反思这些年里的很多事情&#xff0c;突然发现所有的成功失败&#xff0c;…

PHP 遍历数组的方法汇总

From: http://www.cnblogs.com/jamespb/archive/2011/09/01/2161673.html 1. foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法。 #example1: <?php$colors array(red,blue,green,yellow);foreach ($colorsas$color){echo "Do you like $color? <b…

WPF自定义控件与样式(1)-矢量字体图标(iconfont)

原文:WPF自定义控件与样式(1)-矢量字体图标(iconfont)一&#xff0e;图标字体 图标字体在网页开发上运用非常广泛&#xff0c;具体可以网络搜索了解&#xff0c;网页上的运用有很多例子&#xff0c;如Bootstrap。但在C/S程序中使用还不多&#xff0c;字体图标其实就是把矢量图…

从菜鸟到伟大的征程

自我介绍&#xff1a; 我是carol&#xff0c;现在是一名菜鸟程序员&#xff0c;我励志成为像尼奥那样的hacker&#xff0c;尽管有很多的不现实性&#xff0c;但是丝毫不减我对于这方面的热情。其实&#xff0c;说到底我并不是很 喜欢编程&#xff0c;尤其是现在的编程方式&…

Linux下快速搭建DNS服务器

一、术语解释:TTL Time To Live 缓冲保留时间ORIGIN 属于哪个域 代指域IN 开头需要空格SOA 一行记录类型的开始参数&#xff1a;forwarders {} 指向自己无法解析的域名跳转到外部dns服务测试方法&#xff1a;host 域名&#xff08;host IP&#xff09; 使用nslookup方法测试 使…

IOS

http://blog.csdn.net/zc639143029/article/details/47112179转载于:https://www.cnblogs.com/redasurc/p/5007986.html

解决Cacti监控图像断断续续问题

最近cacti的图像全都是断断续续。新加的设备&#xff0c;图像也是这样&#xff0c;查看cacti 的log发现大量下面类似的错误信息&#xff1a;04/12/2011 03:54:37 PM - SPINE: Poller[0] Host[233] DS[4990] WARNING: SNMP timeout detected [500 ms], ignoring host 192.168.2.…

LintCode: Search A 2d Matrix

1. 设查找的数位y&#xff0c;第一行最后一列的数位x 如果x<y&#xff0c;x是第一行最大的&#xff0c;所以第一行都小于y&#xff0c;删除第一行&#xff1b; 如果x>y&#xff0c;x是最后一列最小的&#xff0c;所以最后一列都大于y&#xff0c;删除最后一列&#xff1b…

C++ this 指针

This 指针&#xff1a;this 是C中的一个关键字&#xff0c;也是一个常量指针&#xff0c;指向当前对象&#xff08;具体说是当前对象的首地址&#xff09; 。通过 this&#xff0c;可以访问当前对象的成员变量和成员函数 。 Student Stu ; //通过Student类创建对象 Stu Stude…

css3 loading 效果1

代码&#xff1a; <!doctype html> <html lang"en"> <head> <meta charset"UTF-8"> <title>Document</title> <style> #box{position: relative;margin: 100px;} #box span{display: block;width: 9px;height: …

计算几何 - XOJ 1171 线段求交

问题 Description 线段求交即给定一组线段求出这些线段的相交情况&#xff0c;它是计算几何的基础问题之一,有着广泛的应用. Input第一行为一个正整数n表示线段的个数&#xff08;n<10000&#xff09;第二行到第n1行每行包括4个正整数x1,y1,x2,y2, (0 < x1,y1,x2,y2 <…

类成员函数解析

1、 构造函数&#xff1a; &#xff08;1&#xff09; 定义&#xff1a;是一个特殊的成员函数&#xff0c;名字与类名相同&#xff0c;创建类类型对象时&#xff0c;由编译器自动调用&#xff0c;在对象的生命周期内只且只调用一次&#xff0c;以保证每个数据成员都有一…

微信开发学习日记(六):weiphp框架

最近重点在看weiphp这个开源的第三方微信公众平台框架。在网上找微信资料&#xff0c;找到了这个。很早之前&#xff0c;就初步学习了Thinkphp和Onethink2个开源框架&#xff0c;当看到weiphp是用这2个框架开发的时候&#xff0c;我就更愿意去学习&#xff0c;毕竟学习成本很低…

SVN常用命令备注

1、将文件checkout到本地目录 svn checkout path&#xff08;path是服务器上的目录&#xff09; 例如&#xff1a;svn checkout svn://192.168.1.1/pro/domain 简写&#xff1a;svn co 2、往版本库中添加新的文件 svn add file 例如&#xff1a;svn add test.php(添加test.php)…

add-apt-repository cloud-archive:liberty

apt-get update && apt-get upgrade; v

日期类Date

#include <iostream>using namespace std;//日期是否合法//日期比较//两个日期中间差的天数//日期加上或减去一定的天数后的日期class Date{friend ostream& operator<<(ostream& _cout, const Date& d);friend istream& operator>>(istream…

Linux下编译安装Apache httpd 2.4

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上&#xff0c;由于其跨平台和安全性被广泛使用&#xff0c;是最流行的Web服务器端软件之一。当前Apache版本为2.4&#xff0c;本文主要描述基于CentOS 6.5以源码方式安装Apache httpd。 一…

选取硬币问题

有1元&#xff0c;5元&#xff0c;10元&#xff0c;50元&#xff0c;100元&#xff0c;500元的硬币各c0,c1,c2,c3,c4, c5枚 现在要使用这些硬币支付n元&#xff0c;问最少需要多少枚硬币&#xff0c;假设至少存在一种方案。 应该尽可能使用500元的&#xff0c;然后再使用100元的…