在 CentOS7 之部署 Redis3
CentOS7 之 Redis3 学习笔记
1 Redis 官网:
http://www.redis.io/
2 Redis 的下载地址:
http://download.redis.io/releases/redis-3.0.7.tar.gz
这里我们下载的是 redis-3.0.7.tar.gz
3 Redis 的简介:
Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
这段话来源于 Redis 的官网,这个是不是最有说服力!?^_^
4 我们可以通过 SecureCRT 或 XShell 连接至 CentOS7 服务器,并进入到 /usr/local/tools/ 目录中:
cd cd /usr/local/tools/
如果没有此目录,则创建,这个目录主要用于存放我们下载的一些安装包:
mkdir -p /usr/local/tools/
5 下载 redis-3.0.7.tar.gz 源码:
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
也可以点击官网的 http://download.redis.io/releases/redis-3.0.7.tar.gz 地址现在下载到本机,然后通过 SecureFXP 上传到 /usr/local/tools/ 目录;
6 将 redis-3.0.7.tar.gz 源码解压缩:
tar xzf redis-3.0.7.tar.gz
7 编译 Redis 源码:
进入到 Redis 的根目录 redis-3.0.7 中:
cd redis-3.0.7
执行编译命令:
make
8 我们来启动一下 Redist 服务器吧:
src/redis-server
shell 给我们如下反馈,则表明 redis 服务启动成功:
1206:C 04 May 05:48:48.344 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.0.7 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 1206
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
1206:M 04 May 05:48:48.347 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1206:M 04 May 05:48:48.347 # Server started, Redis version 3.0.7
1206:M 04 May 05:48:48.347 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
1206:M 04 May 05:48:48.347 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
1206:M 04 May 05:48:48.355 * DB loaded from disk: 0.008 seconds
1206:M 04 May 05:48:48.355 * The server is now ready to accept connections on port 6379
说明:redis 的默认端口号为 6379,我们可以看到当前的 redis 的 PID 为 1206,处于单机运行状态;src 目录下的 redis-server 表示 redis 服务端命令;
9 只启动了 redis 的服务端并没有什么具体的意义,那我们开始启动 redis 的客户端,来体验一下 redis 的魅力所在:
src/redis-cli
src 下的 redis-cli 表示 redis 启动客户端的命令;
10 由于 redis 是由 C 语言开发,我们看一下 redis 支持的数据类型都有哪些,
String(字符串)
APPEND
BITCOUNT
BITOP
DECR
DECRBY
GET
GETBIT
GETRANGE
GETSET
INCR
INCRBY
INCRBYFLOAT
MGET
MSET
MSETNX
PSETEX
SET
SETBIT
SETEX
SETNX
SETRANGE
STRLEN
Hash(哈希表)
HDEL
HEXISTS
HGET
HGETALL
HINCRBY
HINCRBYFLOAT
HKEYS
HLEN
HMGET
HMSET
HSET
HSETNX
HVALS
HSCAN
List(列表)
BLPOP
BRPOP
BRPOPLPUSH
LINDEX
LINSERT
LLEN
LPOP
LPUSH
LPUSHX
LRANGE
LREM
LSET
LTRIM
RPOP
RPOPLPUSH
RPUSH
RPUSHX
Set(集合)
SADD
SCARD
SDIFF
SDIFFSTORE
SINTER
SINTERSTORE
SISMEMBER
SMEMBERS
SMOVE
SPOP
SRANDMEMBER
SREM
SUNION
SUNIONSTORE
SSCAN
SortedSet(有序集合)
ZADD
ZCARD
ZCOUNT
ZINCRBY
ZRANGE
ZRANGEBYSCORE
ZRANK
ZREM
ZREMRANGEBYRANK
ZREMRANGEBYSCORE
ZREVRANGE
ZREVRANGEBYSCORE
ZREVRANK
ZSCORE
ZUNIONSTORE
ZINTERSTORE
ZSCAN
11 redis 文档的中文翻译网站:
http://doc.redisfans.com/
有不明白的或遗忘的可以来这里查看;
12 redis 的基本数据单位为 SDS(simple dynamic string),其是在 C 语言的 char[] 数组之上封装的,用于存储基本的数据;
13 set 与 get 字符串:
我们向 redis 服务器插入一个字符串类型的数据:
127.0.0.1:6379> set name 'idea'
shell 反馈给我们的结果如下:
OK
我们查看一下刚刚插入到 redis 服务器的 key 为 name 的 value :
127.0.0.1:6379> get name
shell 反馈给我们的结果如下:
"idea"
14 我们做一个自增序列:
14.1 设置一个 key 为 orderid 序列,给其初始值为 10000:
incrby orderid 10000
14.2 逐次执行递增操作:
incr orderid
查看 shell 反馈给我们的结果,是不是 redis 在以 1 的步长间隔递增?
15 我们做一个列表操作:
15.1 向 List 中自左向右加入 5 个整数:
127.0.0.1:6379> lpush nums 10 20 30 40 50
shell 反馈给我们的结果如下:
(integer) 5
15.2 我们从右侧取值,执行 5 次下面的命令,并查看 shell 的反馈:
127.0.0.1:6379> rpop nums
"10"
127.0.0.1:6379>
127.0.0.1:6379> rpop nums
"20"
127.0.0.1:6379> rpop nums
"30"
127.0.0.1:6379> rpop nums
"40"
127.0.0.1:6379> rpop nums
"50"
127.0.0.1:6379> rpop nums
(nil)
127.0.0.1:6379> rpop nums
(nil)
当执行第 6 次的时候,取不到值了,这像不像数据结构中的“堆”?
15.3 我们从左侧取值,执行 5 次下面的命令,并查看 shell 的反馈:
127.0.0.1:6379> lpop nums
"50"
127.0.0.1:6379> lpop nums
"40"
127.0.0.1:6379> lpop nums
"30"
127.0.0.1:6379> lpop nums
"20"
127.0.0.1:6379> lpop nums
"10"
127.0.0.1:6379> lpop nums
(nil)
当执行到第 6 次后,也是取不到值了,样子还是很像数据结构中的“堆”的嘛!
在 CentOS7 之部署 Redis3的更多相关文章
- 在 CentOS7 上部署 MySQL 主从
在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...
- 在 CentOS7 上部署 zookeeper 服务
在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...
- GIT-Linux(CentOS7)系统部署git服务器
GIT-Linux(CentOS7)系统部署git服务器 root账号登录 一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget ...
- 在阿里云ECS CentOS7上部署基于MongoDB+Node.js的博客
前言:这是一篇教你如何在阿里云的ECS CentOS 7服务器上搭建一个个人博客的教程,教程比较基础,笔者尽可能比较详细的把每一步都罗列下来,包括所需软件的下载安装和域名的绑定,笔者在此之前对Linu ...
- CentOS7.4部署Python3+Django+uWSGI+Nginx
CentOS7.4部署Python3+Django+uWSGI+Nginx http://www.showerlee.com/archives/2590
- CentOS7安装部署zabbix3.4操作记录
CentOS7安装部署zabbix3.4操作记录 1.安装前准备 1.1 查看centos的系统版本 [root@zabbix ~]# cat /etc/redhat-release CentOS L ...
- centos7.2 部署zabbix 3.2.7
centos7.2 部署zabbix 3.2.7[zabbix@zabbixServer ~]$ cat /etc/redhat-release CentOS Linux release 7.2.15 ...
- CentOS7中部署Showdoc
目录 CentOS7中部署Showdoc 前置环境 部署 配置文件 解压安装包 添加启动服务 设置权限 运行安装 界面 CentOS7中部署Showdoc 文:铁乐与猫 前置环境 因为showdoc其 ...
- 在CentOS7上部署Kubernetes集群
在CentOS7上部署Kubernetes集群 文/FCBusquest 2015-12-22 18:36:00 简介 Kubernetes(k8s)是Google开源的大规模容器集群管理系统, 本文 ...
随机推荐
- Oracle_多表查询
SQL多表查询 等值和不等值连接查询 从多个表中获取数据:如果在查询的时候,直接从多个表中获取数据.没有添加条件判断,会出现"笛卡尔积"错误 笛卡尔积错误 笛卡尔集会在下面条件下产 ...
- 【记录】ASP.NET XSS 脚本注入攻击
输入进行 Html 转码: HttpUtility.HtmlEncode(content); 输入保留 Html 标记,使用 AntiXSS 过滤: Install-Package AntiXSS M ...
- Cesium应用篇:2影像服务(上)
文章中相关范例下载路径:https://yunpan.cn/cByQqkANWN7Pu 访问密码 823d Cesium中提供了多种ImageryProvider方式,来满足用户的实际需 ...
- 11.struts2文件上传
文件上传 1.上传单个文件 2.上传多个文件 1.上传单个文件 实现步骤: (1)导入一个Jar包:commons-io-1.3.2.jar.只所以要导入这个Jar包,是因为要用到一个工具类Fil ...
- Android 短信监听及用途分析
监听系统短信这个只能作为一个技术点来研究下,读者可能在工作中可能不会哦涉及到,一般的应用软件也不会有这个需求 但是作为程序员呢,多了解一下也是好的. Android 监听系统短信有什么用? 1.对系统 ...
- CloudNotes:一个云端个人笔记系统
很长时间没有更新博客了,一直在忙着工作和生活琐事,虽然偶尔也有闲暇之时,但短短的几个小时空闲又未必能够静下心来.最近一个多月突发奇想,将自己在近一年前做的一个自己用的云端个人笔记系统重构美化了一下,增 ...
- 【十大经典数据挖掘算法】C4.5
[十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 决策树模型与学习 决策树(de ...
- 详解Javascript的继承实现
我最早掌握的在js中实现继承的方法是在w3school学到的混合原型链和对象冒充的方法,在工作中,只要用到继承的时候,我都是用这个方法实现.它的实现简单,思路清晰:用对象冒充继承父类构造函数的属性,用 ...
- 实体生命周期【Entity Lifecycle】(EF基础系列10)
Before we work on CRUD operation (Create, Read, Update, Delete), it's important to understand the en ...
- IOS学习笔记之获取Plist文件读取数据
@property(nonatomic,strong) NSArray *pic; //创建数组属性 @property(nonatomic,assign) int index; //创建索引属性 @ ...