在 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 次后,也是取不到值了,样子还是很像数据结构中的“堆”的嘛!

时间: 2024-10-10 15:14:44

在 CentOS7 之部署 Redis3的相关文章

在 CentOS7 上部署 MySQL 主从

在 CentOS7 上部署 MySQL 主从 1 通过 SecureCRT 连接至 MySQL 主服务器: 2 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般情况 my.cnf 都会位于 /etc/ 目录下: 3 用 vim 打开 MySQL 的配置文件 my.cnf: vim /etc/my.cnf 4 找到 [mysqld] 并在其后添加如下配置: # 唯一标识此 MySQL 服务器,默认值为 1,一般采用所属 IP 的末端值 server-

CentOS7安装配置redis-3.0.0

清园 沉没的Atlantis CentOS7安装配置redis-3.0.0 一.安装必要包 yum install gcc 二.linux下安装 #下载 wget http://download.redis.io/releases/redis-3.0.0.tar.gz tar zxvf redis-3.0.0.tar.gz cd redis-3.0.0 #如果不加参数,linux下会报错 make MALLOC=libc  安装好之后,启动文件 #启动redis src/redis-server

Centos7操作系统部署指南

一.硬件环境: Dell R620 二.软件环境: Centos6.4 X86_64 +KVM Windows7+vnc 三.安装说明 操作系统更新之迅速,让作为新手的系统运维人员有点措手不及,相对于老手就胸有成竹.怎么讲?因为老手对技术方向把握的很好,哪些技术需要深入研究,哪些需要基本了解即可,优先级早已安排妥当. 接下来要讲的"Centos7操作系统的部署"同样基于此思想,我们只需了解大致的安装过程,有哪些新功能.至于在centos7环境下各种软件的安装,我们可以等到用之前,紧急突

一台centos7主机部署LAMP,提供https服务

在一台centos7上部署LAMP以及xcache并安装分别在2个虚拟主机上部署wordpress和php-myadmin且为phpmyadmin提供https服务: #用rpm包快速部署 :LAMP 1.yum安装: yum  install  -y      httpd   php    php-mysql  php-gd   php-mbstring   php-xml    mariadb-server  mod_ssl Installed: httpd.x86_64 0:2.4.6-4

Centos7下部署Nginx

一.续Centos7下部署Node,Nginx安装部署: Nginx选择安装的是编译版(附下载地址:https://nginx.org/download/),根据自己的系统环境选择. 1.进入保存下载文件的路径,cd进入文件保存路径,命令: cd /usr/local/src 2.下载文件,我这选择最新版本nginx-1.13.11.命令: wget https://nginx.org/download/nginx-1.13.11.tar.gz 3.解压到特定文件夹下,进行解压,执行命令: ta

在CentOS7中部署Cobbler自动装机

在CentOS7中部署Cobbler自动装机Cobbler概述:Cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动批量快速建立Linux系统的网络安装环境.Cobbler 提供了DHCP管理.YUM源管理.电源管理等功能,除此之外还支持命令行管理.WEB界面管理,并且提供了API接口,方便进行二次开发.安装Cobbler环境:Cobbler相关软件包由EPEL源提供.是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供

在CentOS7中部署tomcat9

在CentOS7中部署tomcat9 实验介绍 tomcat服务器是一个免费的开源的Web应用服务器,属于轻量级应用服务器.在中小型和并发访问用户场合中并不是被普遍使用,但却是开发和调试JSP程序的首选,而且tomcat通常是作为一个servlet和JSP容器,单独运行在后端. 试验环境 主机 操作系统 IP 地址 主要软件 tomcat服务器 CentOS 7.3 x86_64 192.168.100.202 jdk-8u171-linux-x64.rpm .apache-tomcat-9.0

基于CentOS7安装部署 Oracle 12c ?

基于CentOS7安装部署 Oracle 12c 简介 Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.Oracle数据库最新版本为Oracle Database 12c.Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云. 特点 1.完整的数据管理功能: 1)数据的大量性 2)数据的保存的持久性 3)

CentOS7中部署KVM虚拟化平台

CentOS7中部署KVM虚拟化平台 虚拟化介绍 虚拟化就是把硬件资源从物理方式转变为逻辑方式,打破原来的物理结构,使用户可以灵活管理这些资源,并允许1台物理机上同时运行多个操作系统,以实现资源利用率最大化和灵活管理的一项技术. 虚拟化优势: 减少了服务器的数量,降低了硬件采购成本 资源利用率最大化 降低机房空间.散热.用电消耗的成本 硬件资源可以动态调整,提高了企业IT业务的灵活性 高可用性 在不中断服务的情况下进行物理硬件调整 具备更高效的容灾能力 KVM虚拟化: KVM自从Linux2.6