资讯专栏INFORMATION COLUMN

redis学习笔记-安装与入门

since1986 / 1469人阅读

摘要:为了解决这个问题,提供了两种持久化机制。在指定的时间间隔内将内存中的数据集快照写入磁盘。持久化实现追加至缓存区文件写入文件同步保存,服务器配置的选项的值直接决定持久化功能的效率和安全性。手动执行设置自动触发条件

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做成一个服务

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

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

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

添加并启动服务
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提供了两种持久化机制:RDB & AOF。可以将redis在内存中的数据库状态保存到磁盘特定文件里,在redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。

RDB

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

通过命令执行
save  // 阻塞服务器其它操作
bgsave  // 通过子进程执行,非阻塞
redis自动间隔性保存

根据conf配置文件中save选项来设置:

如图,默认900秒1次修改、300秒10次修改、60秒10000次修改redis会自动执行RDB持久化。

AOF

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

持久化实现

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

AOF文件重写

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

手动执行:

bgrewriteaof

设置自动触发条件:

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

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

相关文章

  • AI开发书籍分享

    摘要:编程书籍的整理和收集最近一直在学习深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后也找了很多的书和文章,随着不断的学习,也整理了下自己的学习笔记准备分享出来给大家后续的文章和总结会继续分享,先分享一部分的 编程书籍的整理和收集 最近一直在学习deep learning深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后...

    huayeluoliuhen 评论0 收藏0
  • AI开发书籍分享

    摘要:编程书籍的整理和收集最近一直在学习深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后也找了很多的书和文章,随着不断的学习,也整理了下自己的学习笔记准备分享出来给大家后续的文章和总结会继续分享,先分享一部分的 编程书籍的整理和收集 最近一直在学习deep learning深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后...

    antz 评论0 收藏0
  • AI开发书籍分享

    摘要:编程书籍的整理和收集最近一直在学习深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后也找了很多的书和文章,随着不断的学习,也整理了下自己的学习笔记准备分享出来给大家后续的文章和总结会继续分享,先分享一部分的 编程书籍的整理和收集 最近一直在学习deep learning深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后...

    YorkChen 评论0 收藏0
  • AI开发书籍分享

    摘要:编程书籍的整理和收集最近一直在学习深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后也找了很多的书和文章,随着不断的学习,也整理了下自己的学习笔记准备分享出来给大家后续的文章和总结会继续分享,先分享一部分的 编程书籍的整理和收集 最近一直在学习deep learning深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后...

    sixleaves 评论0 收藏0
  • Laravel学习笔记Redis保存页面浏览量

    摘要:说明本文主要讲述使用作为缓存加快页面访问速度。何不用来做缓存,等到该达到一定浏览页面后再刷新下,效率也很高。可作缓存系统队列系统。 说明:本文主要讲述使用Redis作为缓存加快页面访问速度。同时,作者会将开发过程中的一些截图和代码黏上去,提高阅读效率。 备注:作者最近在学习github上别人的源码时,发现好多在计算一篇博客页面访问量view_count时都是这么做的:利用Laravel...

    z2xy 评论0 收藏0

发表评论

0条评论

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