Linux+Redis实战教程_day02_2、redis简述及安装与启动
2、 redis简述及安装
关系型数据库(SQL):
Mysql,oracle
特点:数据和数据之间,表和字段之间,表和表之间是存在关系的
例如:部门表 001部门, 员工表 001
用户表,用户名、密码
分类表 和 商品表, 一对多关系。
优点:①数据之间有关系,进行数据的增删改查时非常方便的。
②关系型数据库 有事务操作。 保证数据的完整性
缺点:1、因为数据和数据之间有关系的,关系是由底层大量算法保证
大量算法会拉低系统运行速度
大量算法会消耗系统资源
2、海量数据的增删改查时会显得无能为力。
很可能宕(dang)机
3、海量数据环境下对数据表进行维护/扩展,也会变得无能为力
update product set cname = ‘手机数码’;//修改所有数据
把商品表的cname字段,由varchar(64), char(100)
适合处理一般量级数据,安全。
钱
非关系型数据库(NOSQL:不仅仅是sql):
为了处理海量数据,需要将关系型数据库的关系 去掉。
非关系型数据库设计之初 是为了替代关系型数据库的
Redis
优点:1、海量数据的增删改查,非常轻松应对
2、海量数据的维护非常轻松。
缺点:1、数据和数据之间没有关系,所以不能一目了然
2、非关系型数据库,没有关系,没有强大的事务保证数据的完整和安全
适合处理海量数据,效率高。不一定安全
奥运健儿奖牌总数 每秒千万次查询
关系型数据库+非关系型数据库 ====》项目
重要数据 海量操作数据,不重要
2、1 Redis使用环境
1、可以作为关系型数据库的缓存存在
2、可以做任务队列
3、大量数据运算
4、排行榜
Redis非常擅长做大量数据的排行榜
2、2 redis安装
redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要安装gcc:(环境已经导入完成)
yum install gcc-c++
如果提示是否下载,输入y。
如果提示是否安装,输入y
l 步骤1:将Windows下下载的压缩文件上传到Linux下。通过secureCRT进行上传,步骤如下:
lalt + p
lput F:/redis-3.0.0.tar.gz
l
l 步骤2:解压文件
ltar -zxvf redis-3.0.0.tar.gz
l 步骤3:编译redis (编译,将.c文件编译为.o文件)
l进入解压文件夹,cd redis-3.0.0
l执行make,将里边所有的c代码运行一遍
1)如果没有安装gcc,编译将出现错误提示。(如果安装失败,必须删除文件夹,重写解压)
2)安装成功
l 步骤4:安装
make PREFIX=/usr/local/redis install
lPREFIX必须大写
安装完后,在/usr/local/redis/bin下有几个可执行文件
redis-benchmark----性能测试工具
redis-check-aof----AOF文件修复工具
redis-check-dump----RDB文件检查工具(快照持久化文件)
redis-cli----命令行客户端
redis-server----redis服务器启动命令
l 步骤5:copy文件
redis启动需要一个配置文件,可以修改端口号等信息。
回到根目录,进到redis-3.0.0,复制该目录下的redis.conf到/usr/local/redis
cp redis.conf /usr/local/redis
注:如果没有配置文件redis也可以启动,不过将启用默认配置,这样不方便我们修改端口号等信息
2、3前端启动:(了解)-无法部署集群
先进入redis程序目录中,运行一下命令启动redis服务器。./代表当前目录
./bin/redis-server
[root@yejing redis]# ll
- 总用量 48
- drwxr-xr-x. 2 root root 4096 1月 15 07:28 bin
- -rw-r--r--. 1 root root 41403 1月 15 07:35 redis.conf
- [root@yejing redis]# pwd
- /usr/local/redis
- [root@yejing redis]# ./bin/redis-server
- 1631:C 15 Jan 17:57:09.181 # Warning: no config file specified, using the default config. In order to specify a config file use ./bin/redis-server /path/to/redis.conf
- 1631:M 15 Jan 17:57:09.186 * Increased maximum number of open files to 10032 (it was originally set to 1024).
- 1631:M 15 Jan 17:57:09.199 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now.
- _._
- _.-``__ ''-._
- _.-`` `. `_. ''-._ Redis 3.0.0 (00000000/0) 32 bit
- .-`` .-```. ```\/ _.,_ ''-._
- ( ' , .-` | `, ) Running in standalone mode
- |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
- | `-._ `._ / _.-' | PID: 1631
- `-._ `-._ `-./ _.-' _.-'
- |`-._`-._ `-.__.-' _.-'_.-'|
- | `-._`-._ _.-'_.-' | http://redis.io
- `-._ `-._`-.__.-'_.-' _.-'
- |`-._`-._ `-.__.-' _.-'_.-'|
- | `-._`-._ _.-'_.-' |
- `-._ `-._`-.__.-'_.-' _.-'
- `-._ `-.__.-' _.-'
- `-._ _.-'
- `-.__.-'
- 1631:M 15 Jan 17:57:09.204 # Server started, Redis version 3.0.0
- 1631:M 15 Jan 17:57:09.206 # 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.
- 1631:M 15 Jan 17:57:09.207 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
- 1631:M 15 Jan 17:57:09.207 * The server is now ready to accept connections on port 6379
再打开一个窗口运行客户端:
进到redis程序目录,运行以下命令启动客户端
./bin/redis-cli
- [root@yejing ~]# cd /usr/local/redis
- [root@yejing redis]# ./bin/redis-cli
- 127.0.0.1:6379> set username zhangsan
- OK
- 127.0.0.1:6379> get username
- "zhangsan"
- 127.0.0.1:6379>
启动redis,客户端连接: 连接6379端口
redis-cli -h ip地址 -p 端口
./bin/redis-cli -p 6379
运行客户端(默认连接本机6379端口):./bin/redis-cli
2、4Redis启动-后端模式
l 修改redis.conf配置文件, daemonize yes 以后端模式启动。
vim /usr/local/redis/redis.conf
l 启动时,指定配置文件
cd /usr/local/redis/
./bin/redis-server ./redis.conf
l Redis默认端口6379,通过当前服务进行查看
ps -ef | grep -i redis
2、5 redis的关闭
① 查询到PID,kill -9 pid 【断电,非正常关闭,一般不用,否则造成数据丢失】
②正常关闭 【正常关闭,数据保存】
./bin/redis-cli shutdown
Linux+Redis实战教程_day02_2、redis简述及安装与启动的更多相关文章
- go语言实战教程:Redis实战项目应用
项目Redis配置 在实战项目中使用Redis功能,首先需要进行Redis配置.本实战项目中,关与Redis的配置项包含:连接类型.地址.端口.公共前缀.以上配置项被定义包含在Iris框架的redis ...
- Redis实战之征服 Redis + Jedis + Spring (一)
Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: Redis实战 Re ...
- Redis实战之征服 Redis + Jedis + Spring (二)
不得不说,用哈希操作来存对象,有点自讨苦吃! 不过,既然吃了苦,也做个记录,也许以后API升级后,能好用些呢?! 或许,是我的理解不对,没有真正的理解哈希表. 相关链接: Redis实战 Redis实 ...
- Redis实战之征服 Redis + Jedis + Spring (三)
一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 通过spring-data-redis完 ...
- Redis实战 | 5种Redis数据类型详解
我们知道Redis是目前非常主流的KV数据库,它因高性能的读写能力而著称,其实还有另外一个优势,就是Redis提供了更加丰富的数据类型,这使得Redis有着更加广泛的使用场景.那Redis提供给用户的 ...
- Redis 实战 —— 13. 扩展 Redis
简介 当数据量增大或者读写请求增多后,一台 Redis 服务器可能没办法再存储所有数据或者处理所有读写请求,那么就需要对 Redis 进行扩展,保证 Redis 在能存储所有数据对情况下,同时能正常处 ...
- Linux+Redis实战教程_day01_Linux介绍与安装
1.Linux介绍(了解) 1.1.Linux和Windows的区别 Linux是一款操作系统.正规开发 服务器项目部署都是放在Linux操作系统上. Windows一款操作系统,民用操作系统.娱乐. ...
- Linux+Redis实战教程_day02_消息订阅与发布_多数据库_redis批量操作-事务_redis持久化
5.扩展知识-消息订阅与发布(了解) 订阅新闻,新闻发布 subscribe channel:订阅频道,例:subscribe mychat,订阅mychat这个频道 psubscribe chann ...
- Linux+Redis实战教程_day03_4、通用redis命令【重点】
4.通用redis命令[重点] Redis五种数据类型,String,hash,list,set,有序set l keys pattern:获取所有与pattern匹配的key,返回所有与该key匹配 ...
随机推荐
- 2012Hulu校园招聘笔试题
一.填空 侧重逻辑思维,没有语言.具体技术考察,大部分属于组合数学.算法.比较基本的知识点有二元树节点树.最小生成树.Hash函数常用方法等. 二.编程题 1.正整数剖分 2.AOE关键路径 3.二元 ...
- bootstrap底部消息提示插件
http://www.bootcss.com/p/messenger/ 具体效果下载插件查看
- 理解javascript中的回调函数(callback)【转】
在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实 ...
- 关于Unity中DOTween插件的使用(专题一)
DOTween flash里面的一个概念叫补间动画,DOTween就是干这个事情的. 补间动画:在1秒钟之内从A点移动到B点,在这个之间会把动画补间补好. 当我们安装好DOTween后,它就会提供很多 ...
- 深入理解Java对象序列化
关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结.此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制.在撰写本文时,既参考了Th ...
- (转)Live555单线程原理
1. 概述 在live555-Server库中,使用单线程实现了多用户请求视频数据,这似乎多线程才能实现的功能,并且用户请求视频数据各个流程衔接的都十分完美,其执行效率非常高. live555是如何实 ...
- CI框架 -- 核心文件 之 Exceptions.php
使用CI框架,我们通常使用一下三个函数处理错误: show_error('消息' [, int $status_code = 500 ] ) show_404('页面' [, 'log_error'] ...
- IntelliJ IDEA 终极破解
1. 下载破解补丁(JetbrainsCrack-2.6.10-release-enc.jar): http://idea.lanyus.com/jar/JetbrainsCrack-2.6.10-r ...
- C#网络编程之Http请求
本片篇分享简单介绍C#中的Http请求,前几天帮朋友的项目封装ApiHelper,我粗糙的结果就如下,想想我真的是差的太远了.还有一位架构师也在封装这个Helper , 所以最后的结果当然是使用大牛的 ...
- RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”
转自http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html 备忘 rpm 执行安装包 二进制包(Binary ...