数据库服务软件类型和配置redis
ql-day11 数据库服务软件类型和配置redis
l 数据库服务软件类型
² RDBMS
• 关系数据库管理系统
– Relational Database Management System
– 数据按照预先设置的组织结构,存储在物理存储介质上。
– 数据之间可以做关联操作
² RDBMS 服务软件
• 主流的 RDBMS 软件
– Oracle
– DB2
– WS-sqlserver
– MySQL
² NoSQL
• NoSQL(NoSQL = Not Only SQL )
– 意思是 " 不仅仅是 SQL“
– 泛指非关系型数据库
– 不需要预先定义数据存储结构
– 表的每条记录都可以有不同的类型和结构
² NoSQL 服务软件
• 主流软件
– Redis
– MongoDB
– Memcached
– CouchDB
– Neo4j
– FlockDB
² Redis 介绍
• Redis
– Remode DIctionary Server( 远程字典服务器 )
– 使用 C 语言编写的,遵守 BSD 的开源软件
– 是一款高性能的 (Key/Values) 分布式内存数据库
– 并支持数据持久化的 NoSQL 数据库服务软件
– 中文网站 www.redis.cn
Redis 介绍(续 1 )
² Redis 特点:
– 支持数据持久化,可以把内存里数据保存到硬盘中
– 不仅仅支持 key/values 类型的数据,同时还支持 list
hash set zset 类型
– 支持 master-salve 模式数据备份
1)装包
# cd soft/redis
# tar -xzf redis-4.0.8.tar.gz
# yum -y install gcc-c++ gcc
# cd redis-4.0.8
# make 或 // make && make install
# make install
2)初始化
# ./utils/install_server.sh
3)启动redis服务(软件安装完成后服务自动运行)启动服务
• 启动服务
# /etc/init.d/redis_<portnumber> start
• 停止服务
# /etc/init.d/redis_<portnumber> stop
[root@localhost redis-4.0.8]# /etc/init.d/redis_6379 status
[root@localhost redis-4.0.8]# netstat -utnlp | grep :6379 //redis
[root@localhost redis-4.0.8]# ps -C redis-server
4)运行
[root@host51 redis-4.0.8]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
u 连接本机redis服务
[root@localhost redis-4.0.8]# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set k1 v1 //再次附值,覆盖之前的值
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> SHUTDOWN
not connected> exit
u 常用操作指令
– Set keyname keyvalue // 存储
– get keyname // 获取
– Select 数据库编号 0-15 // 切换库
– Keys * // 打印所以变量
– Keys a? // 打印指定变量
– Exits keyname // 测试是否存在
– ttl keyname // 查看生存时间
– type keyname // 查看类型
u 连接本机redis服务
[root@localhost redis-4.0.8]# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set k1 v1 //给k1附值v1
OK
127.0.0.1:6379> get k1 //查看值
"v1"
127.0.0.1:6379> keys *
1) "k1"
127.0.0.1:6379> SHUTDOWN
not connected> exit
u 常用操作指令 ( 续 1)
– move keyname dbname // 移动变量
– expire keyname 10 // 设置有效时间
– del keyname // 删除变量
– flushall // 删除所有变量
– save // 保存变量
– shutdown // 关闭服务
配置文件解析
- 数据单位
• 数据单位
- 常用配置选项 vim /etc/redis/6379.conf
*模板* *修改*
– port 6379 // 端口 // 93 port 6351
– bind 127.0.0.1 //IP 地址 // 70 bind 127.0.0.1 192.168.4.51
– tcp-backlog 511 //tcp 连接总数
– timeout 0 // 连接超时时间
– tcp-keepalive 300 // 长连接时间
– daemonize yes // 守护进程方式运行
– databases 16 // 数据库个数
– logfile /var/log/redis_6379.log //pid 文件
– maxclients 10000 // 并发连接数量
– dir /var/lib/redis/6379 // 数据库目录
1) 51主机更改配置文件
[root@host52 redis-4.0.8]# vim /etc/redis/6379.conf
:set nu
70 bind 127.0.0.1 192.168.4.51
93 port 6351
815 cluster-enabled yes //去掉注释
823 cluster-config-file nodes-6357.conf //去掉注释。修改
829 cluster-node-timeout 5000 //去掉注释。修改
2) 52 主机上连接51
[root@host52 redis-4.0.8]# redis-cli -h 192.168.4.51 -p 6351
- 内存管理
• 内存清除策略
– volatile-lru 最近最少使用 (针对设置了过期时间的 key )
– keys-lru 删除最少使用的 key
– volatile-random 在设置了过期的 key 里随机移除
– allkeys-random 随机移除 key
– volatile-ttl (minor TTL) 移除最近过期的 key
– noeviction不删除 写满时报错
- 内存管理 (续 1 )
• 选项默认设置
– maxmemory <bytes> // 最大内存
– maxmemory-policy noeviction // 定义使用的策略
– maxmemory-samples 5 // 选取模板数据的个数
(针对 lru 和 ttl 策略)
- 设置连接密码
• 设置密码 配置文件: vim /etc/redis/6379.conf
– grep -n requirepass /etc/redis/6379.conf
501:requirepass 123456
1)重起服务 (命令停止服务) //刚开始要down( redis-cli -p 6379 shutdown)
2)[root@host51 redis-4.0.8]# redis-cli -p 6351 shutdown
或 ]# redis-cli -p 6351 -a 123456 shutdown
[root@host51 redis-4.0.8]# /etc/init.d/redis_6379 start
– [root@localhost redis-4.0.8]# redis-cli -h192.168.4.51 -p 6351 -a 123456
– 127.0.0.1:6379> ping
– (error) NOAUTH Authentication required.
– 127.0.0.1:6379> auth 123456 // 输入密码
– OK
– 127.0.0.1:6379> ping
– PONG
– 127.0.0.1:6379>
3)修改配置文件 (脚本停止服务配置)
[root@host51 redis-4.0.8]# vim /etc/init.d/redis_6379
43 $CLIEXEC -h 192.168.4.51 -p 6351 -a 123456 shutdown
[root@host51 redis-4.0.8]# /etc/init.d/redis_6379 stop
[root@host51 redis-4.0.8]# /etc/init.d/redis_6379 start
[root@host51 redis-4.0.8]# /etc/init.d/redis_6379 status
部署 LNMP
1)安装软件包
• 安装源码 nginx 和 PHP
[root@host53 ~]# tar -xf lnmp_soft.tar.gz
]# yum -y install gcc gcc-c++ pcre-devel zlib-devel
]# tar -zxf nginx-1.12.2.tar.gz
]# cd nginx-1.12.2
]# ./configure --prefix=/usr/local/nginx
]# make
]# make install
[root@host53 lnmp_soft]# yum -y install php-common
[root@]host53 lnmp_soft# rpm -ivh php-fpm-5.4.16-42.el7.x86_64.rpm
[root@host53 lnmp_soft]# systemctl start php-fpm
[root@host53 lnmp_soft]# netstat -anput | grep :9000
[root@host53 nginx-1.12.2]# /usr/local/nginx/sbin/nginx
[root@host53 nginx-1.12.2]# netstat -anput | grep :80
[root@host53 nginx-1.12.2]# echo "123" > /usr/local/nginx/html/index.html
[root@host53 nginx-1.12.2]# firefox 192.168.4.53/test.html
2)修改配置文件
• 修改 nginx 服务主配置文件
[root@bogon ~]# vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
root
html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include
fastcgi_params;
}
:wq
3)测试配置
• 测试文件
[root@bogon lnmp]# vim /usr/local/nginx/html/test.php
<?php
echo "hello world!!!";
?>
:wq
[root@bogon lnmp]#
• 访问 nginx 服务
[root@bogon lnmp]# elinks --dump http://localhost/test.php
hello world!!!
运行 Redis 服务
• 装包并启动服务
[root@host53 ~]# cd soft/redis
# tar -xzf redis-4.0.8.tar.gz
# cd redis-4.0.8
#make
#make install
#./utils/install_server.sh // 初始化.全部回车
# /etc/init.d/redis_6379 start
u 配置 php 支持 Redis
• 安装 php 扩展
[root@host53 ~]# cd soft/redis
#yum -y install autoconf
#yum -y install automake
#rpm -ivh php-devel-5.4.16-42.el7.x86_64.rpm
# tar -zxf php-redis-2.2.4.tar.gz
# cd phpredis-2.2.4/
[root@bogon phpredis-2.2.4]# /usr/bin/phpize
# ./configure --with-php-config=/usr/bin/php-config
[root@bogon phpredis-2.2.4]# make
[root@bogon phpredis-2.2.4]# make install
[root@bogon ~]# vim /etc/php.ini
728 extension_dir = "/usr/lib64/php/modules/”
730 extension = "redis.so"测试配置
u 测试配置
[root@host53 ~]# firefox 192.168.4.53/test.php
[root@host53 ~]# systemctl start php-fpm.service
• 查看是否支持模块
[root@bogon ~]# php -m | grep -i redis
redis
• 编写测试文件
[root@bogon bin]# cat /usr/local/nginx/html/redis.php
<?php
$redis = new redis();
$redis->connect('127.0.0.1',6379);
$redis->set('redistest','666666');
echo $redis->get('redistest');
?>
• 访问 nginx 服务
[root@bogon bin]# elinks --dump http://localhost/redis.php
666666
u 访问和测试
[root@db54 redis-4.0.8]# redis-cli
127.0.0.1:6379> keys *
1) "redistest"
127.0.0.1:6379> get redistest
"666666"
127.0.0.1:6379>
u 配置页面
[root@db54 lnmp]# vim /usr/local/nginx/html/test.php
<?php
phpinfo();
?>
快速配置redis服务
u 装包并启动服务
[root@host53 ~]# cd soft/redis
# tar -xzf redis-4.0.8.tar.gz
# cd redis-4.0.8
#make
#make install
#./utils/install_server.sh // 初始化
# /etc/init.d/redis_6379 start
u 修改配置 /etc/redis/6379.conf
[root@host52 redis-4.0.8]# vim /etc/redis/6379.conf
:set nu
70 bind 127.0.0.1 192.168.4.51
93 port 6351
815 cluster-enabled yes //去掉注释
823 cluster-config-file nodes-6357.conf //去掉注释。修改
829 cluster-node-timeout 5000 //去掉注释。修改
u 修改配置(2) /etc/init.d/redis_6379
[root@host51 redis-4.0.8]# vim /etc/init.d/redis_6379
43 $CLIEXEC -h 192.168.4.51 -p 6351 -a 123456 shutdown
u 停止服务
[root@host51 redis-4.0.8]#redis-cli -p 6379 shutdown
u 起服务
[root@host51 redis-4.0.8]# /etc/init.d/redis_6379 stop
[root@host51 redis-4.0.8]# /etc/init.d/redis_6379 start
[root@host51 redis-4.0.8]# /etc/init.d/redis_6379 status
u 查看端口
netstat -anput | grep redis
数据库服务软件类型和配置redis的更多相关文章
- 在windows下面配置redis集群遇到的一些坑
最近工作不忙,就决定学习一下redis.因为一直在windows下工作,不会linux,没办法就选择在windows下配置redis. windows下配置redis集群的文章有很多,比如:http: ...
- [Redis]通过代码配置Redis
查看了文档https://azure.microsoft.com/en-us/documentation/articles/cache-how-to-scale/,发现可以使用代码来配置Redis,所 ...
- Ubuntu 安装和配置redis数据库
Ubuntu 14.04下安装和配置redis数据库 小编现在在写一个分布式爬虫,要用到这个数据库,所以分享一下小编是如何安装和配置的,希望对大家有帮助. 工具/原料 Ubuntu 系统电脑一台 ...
- 【Redis】配置redis主从复制
阅读目录 redis-3.2.1.master tar zxvf redis-3.2.1.tar.gz mv redis-3.2.1 redis-3.2.1.slave-1 tar zxvf redi ...
- sqlserver2005重新安装(安装汇编错误,安装程序无法连接到数据库服务进行服务配置)
2014-01-09 16:41 1687人阅读 评论(1) 收藏 举报 分类: 数据库(1) 版权声明:本文为博主原创文章,未经博主允许不得转载. sqlserver2005重新安装(安装汇编错误, ...
- SpringMVC+Mybatis+MySQL配置Redis缓存
SpringMVC+Mybatis+MySQL配置Redis缓存 1.准备环境: SpringMVC:spring-framework-4.3.5.RELEASE-dist Mybatis:3.4.2 ...
- Redis学习笔记之一 : 配置redis
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- 在服务器上,配置redis可以外网访问
首先linux开放默认端口6379打开redis配置文件redis-conf注释掉 bind 127.0.0.1(默认只有本地主要才能访问)这个注释掉现在处于受保护的状态,外网连不上,因为没有密码 在 ...
- linux下安装与配置Redis
1.安装 (1)获取源代码 wget http://download.redis.io/releases/redis-4.0.8.tar.gz (2)解压 tar xzvf redis-4.0.8.t ...
随机推荐
- Redis(8)——发布/订阅与Stream
一.Redis 中的发布/订阅功能 发布/ 订阅系统 是 Web 系统中比较常用的一个功能.简单点说就是 发布者发布消息,订阅者接受消息,这有点类似于我们的报纸/ 杂志社之类的: (借用前边的一张图) ...
- 3L-最好、最坏、平均、均摊时间复杂度
关注公众号 MageByte,设置星标点「在看」是我们创造好文的动力.后台回复 "加群" 进入技术交流群获更多技术成长. 本文来自 MageByte-青叶编写 上次我们说过 时间复 ...
- Google Flutter Clock 大赛优秀项目推荐
Flutter 在 Google 加持下,如今可以作为跨平台首选了.早在 Flutter 刚刚出现强势苗头,我作为第一批体验了一把,<Flutter 初尝:从 Java 无缝过渡>,不过也 ...
- 数据挖掘入门系列教程(四点五)之Apriori算法
目录 数据挖掘入门系列教程(四点五)之Apriori算法 频繁(项集)数据的评判标准 Apriori 算法流程 结尾 数据挖掘入门系列教程(四点五)之Apriori算法 Apriori(先验)算法关联 ...
- Deeplink推广,打开率很低怎么办?
但凡做TOC业务的多多少少都会用到Deeplink,这是一个重要的运营手段.但用了Deeplink却没有达到预期的目标,打开率不尽人意,你有没有想过到底是什么原因? 在Deeplink这条路上,我们当 ...
- Python1-变量
一.变量和简单数据类型 1.变量 命名规则: 变量名组成——字母.下划线.数字(不可做首字符): 用下划线分隔单词,不可包含空格: 关键字和函数名不可做变量名: 小写字母做变量名,不建议使用大小写的字 ...
- 分享几个 PHP 编码的最佳实践
对于初学者而言,可能很难理解为什么某些做法更安全. 但是,以下一些技巧可能超出了 PHP 的范围. 始终使用大括号 让我们看下面的代码: if (isset($condition) && ...
- sql优化,如何将in换为exists
原sql语句 -- 根据权限表查出该用户拥有的所有权限菜单 select * from tb_power where id in( select power_id from tb_role_power ...
- Python3之turtle的基本用法#Python学习01#
一.turtle基本语法 1.导入turtle 模块import turtle 2.显示箭头turtle.showturtle() 3.写字符串turtle.write("因小米" ...
- POJ 1182食物链(分集合以及加权两种解法) 种类并查集的经典
题目链接:http://icpc.njust.edu.cn/Problem/Pku/1182/ 题意:给出动物之间的关系,有几种询问方式,问是真话还是假话. 定义三种偏移关系: x->y 偏移量 ...