官方对Redis的阐述:

Redisis an open source, BSD licensed, advanced key-value cache and store. It is often referred to as adata structure server since keys can contain stringshasheslistssetssorted setsbitmaps andhyperloglogs.

Redis是一个开源的,BSD许可的,高级的“键-值缓存存储。它经常被称为是一个数据结构服务器,因为可以字符串哈希表列表集合有序集合、位图和hyperloglogs

Introduction to Redis”概要地介绍了Redis的关键特性和功能:

  1. atomic operations (所有命令都是原子操作)
  2. in-memory dataset (所有数据都放在内存中)
  3. 具有有限存活时间的
  4. LRU缓存
  5. 持久化(RDB-内存快照|镜像AOF-追加每个命令到日志)
  6. 主从异步复制
  7. Sentinel-自动故障转移
  8. 事务
  9. 发布/订阅
  10. Lua脚本
  11. 推荐使用Linux系统部署

和常见命令的使用场景

  1. 增加哈希表中的值(某物不同维度的计数器或属性)
  2. 压入一个元素到一个列表(消息列表、队列)
  3. 有序集合中获取排名最高的成员(TOP N、热点实时新闻、热点搜索)

[参考]

  1. Redis 命令中文版, huangz同学的翻译

【动手实践】

实践目标:探索高可靠和可扩展的分布式Redis缓存方案

在实践过程中有不懂的地方,都会去看看 Documentation有没我想要的东东~

从Redis源代码编译和安装的步骤,如下:

1. 从Download下载最新的稳定版并解压

  1. $ wget http://download.redis.io/releases/redis-2.8.17.tar.gz
  2. $ tar -xzf redis-2.8.17.tar.gz

2. 在解压文件之后,请务必先仔细阅读发布文件(redis-2.8.17)下的 INSTALL 和 README (里面有一些很重要的信息等待你去了解,能为你日后节省不少时间哦!你懂~ ^_^)

3. 按照 README 里的步骤说明来构建Redis、运行Redis、玩转Redis、安装Redis

3.1 构建Redis(务必在服务器上运行测试,确保所有命令都是可用的)

  1. $ cd redis-2.8.17
  2. $ make
  3. $ make test

构建时,我遇到提示"缺少C++编译器"的错误,并会提示可用的安装包("sudo apt-get install g++")。

3.2 运行Redis服务器

  1. $ src/redis-server

3.3 玩转Redis客户端

  1. $ src/redis-cli
  2. redis> set foo bar
  3. OK
  4. redis> get foo
  5. "bar"

3.4 安装Redis服务

  1. $ sudo make install

4. 若使用 utils/install_server.sh 来生成初始化脚本配置文件安装并启动服务的话,可以大大地节省配置的时间。但在使用之前,请先浏览一下其实现 (注意:服务已作为系统的一部分,会在系统重启时自动启动!)

  1. $ sudo sh install_server.sh

5. 在修改默认的配置属性之前,请浏览 redis.conf。若要修改默认的一些配置属性,可以参考 Redis configuration,更详细的信息就参考 Documentation的 Administration 主题内容

6. “Redis as an LRU cache”,Redis作为一个LRU缓存的配置参考 (内容很有价值!)

  1. maxclients 65536
  2. maxmemory 128MB
  3. maxmemory-policy allkeys-lru
  4. maxmemory-samples 10
  5. # 注释掉 RDB 的所有触发规则
  6. #save 900 1
  7. #save 300 10
  8. #save 60 10000

7. “Master-Slave”主从架构的配置修改,请参考 @江南白衣 整理的关于Redis方面最全面的 Redis springside4的 “附录1: 对redis.conf默认配置的修改

  1. daemonize yes

8. 当 redis.conf 中的相关属性都修改完成后,就可以执行 utils/install_server.sh 脚本了

9. 使用“sudo netstat -anp | grep redis”来确认所有Redis服务是否都已启动成功

至此,所有Redis服务都启动完毕。

Redis服务快速部署的更多相关文章

  1. 三十九.NoSQL概述 部署Redis服务 、 部署LNMP+Redis

    1. 搭建Redis服务器 在主机 192.168.4.50 上安装并启用 redis 服务 设置变量test,值为123 查看变量test的值   1.1 搭建redis服务器 1.1.1 安装re ...

  2. rsync 服务快速部署手册

    一.rsync服务端安装 1.查看rsync安装包 # rpm -qa rsync rsync-3.0.6-12.el6.x86_64 2.安装rsync 系统默认都会安装rsync软件包的,如果查看 ...

  3. Redis服务监控之RedisLive安装部署(亲测可用)

    一.Redis服务安装部署 1.redis安装(linux系统) 下载 https://redis.io/ 安装依赖 yum install gcc tcl 解压.编译.安装(make & m ...

  4. Redis简介与部署

    一.简介 Redis是什么?redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者Salvatore Sanfilippo在2009年发布,使用C语言编写:red ...

  5. 阿里云服务上面部署redis + 本地Redis客户端连接方法

    本文结合自己在阿里云服务器上面搭建redis服务器,在本地redis的客户端Redis Desktop Manager连接成功的操作,将操作中的一些方法做了一些归纳和总结,希望可以帮到有需要的同学. ...

  6. redis快速部署

    1. 场景描述 以前是直接使用公司提供的redis集群,只使用不负责维护,因项目用到负载均衡,需要使用redis做session共享,存储session信息,所以就部署了下,记录下以便后续能快速部署. ...

  7. centos下部署redis服务环境的操作记录

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...

  8. redis常用服务安装部署

    常用服务安装部署   学了前面的Linux基础,想必童鞋们是不是更感兴趣了?接下来就学习常用服务部署吧! 安装环境: centos7 + vmware + xshell 即将登场的是: mysql(m ...

  9. centos下部署redis服务环境及其配置说明

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主 ...

随机推荐

  1. 谈谈javascript插件的写法

    插件顾名思义就是能在一个页面多处使用, 各自按自己的参数配置运行, 并且相互不会冲突. 会写javascript插件是进阶js高级的必经之路, 也是自己所学知识的一个典型的综合运用. 如果你还没头绪, ...

  2. function 的声明

    <?php function test() { echo "abc"; } test(); ?> 结论: 一 编译 a.对 函数声明进行词法分析和语法分析:在语法分析中 ...

  3. LeetCode Balanced Binary Tree (判断平衡树)

    题意:如题,平衡树是指任意一个节点(除了叶子),其左子树的高度与右子树的高度相差不超过1. 思路:递归解决,但是提供的函数不满足递归的要求啊,我们至少得知道高度,又得返回真假,所以另开个函数解决. / ...

  4. CentOS 7 安装 mariaDB

    1.安装数据库 [root@localhost ~]# yum -y  install mariadb-server mariadb mariadb-devel 2.启动数据库[root@localh ...

  5. Struts2 教程

    一.Struts2是什么 Struts2是在WebWork2基础发展而来的.和Struts1一样, Struts2也是基于MVC的web层框架. 那么既然有了Struts1,为何还要Struts2? ...

  6. 【JMeter】Jmeter引入第三方jar包

    Jmeter做remoteService,里面用到一个实体:clickEntity,是在一个第三方jar包定义的:com.bj58.opt.ad_logparser-0.0.18-SNAPSHOT.j ...

  7. uvalive 4992 Jungle Outpost

    题意:一个凸边型,目标在凸边型内且最优.问最多删除几个点使目标暴露在新凸边型外面. 思路:二分+半平面相交. #include<cstdio> #include<cmath> ...

  8. mysql修改字段的语句写法

    http://www.111cn.net/database/mysql/50678.htm 下面为您介绍的sql语句都是mysql修改字段操作中的一些常用语句,如果您是一个刚刚接触mysql数据库的新 ...

  9. Good practice release jar to Nexus

    Step  suppose you need to develop a feature,when you finish the feature ,you need to release the jar ...

  10. leetcode@ [208] Implement Trie (Prefix Tree)

    Trie 树模板 https://leetcode.com/problems/implement-trie-prefix-tree/ class TrieNode { public: char var ...