Day47笔记Linux+redis入门

Day47   知识讲解:Jedis

1、Linux上jdk,mysql,tomcat安装(看着文档安装)

准备工作:

因为JDK,TOMCAT,MYSQL的安装过程中需要从网上下载部分支持包才可以继续,所以要求同学们提前安装下载好依赖

yum install glibc.i686

yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6

yum  updatelibstdc++-4.4.7-4.el6.x86_64

yum install gcc-c++

glibc.i686

8MB+21MB

libaio.so.1 libgcc_s.so.1 libstdc++.so.6

417KB

libstdc++-4.4.7-4.el6.x86_64

仅更新检查,

无下载内容

yum install gcc-c++

19MB

Linux操作系统有两大程序命令:

rpm相当于windows的添加\卸载程序。只能操作Linux本地的程序。

卸载:rpm -e--nodeps需要卸载程序名

查看:rpm -qa

安装包的安装:rpm -ivh需要安装的程序名

安装包:*.rpm------相当于windows  *.exe

有些程序,存在于网络上

yum相当于联网版的rpm命令。从网络上进行程序的安装、更新

网络安装:yum install xxxxx

下载到Linux本地变为rpm程序包,执行rpm安装

网络更新:yum updatexxxxx

下载到Linux本地然后再进行更新操作

Linux系统上安装JDK:

安装步骤:

卸载OpenJDK

执行命令查看:

l rpm –qa | grep java

l 卸载OPENJDK

rpm -e --nodepsjava-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686

rpm -e --nodepsjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686

创建JDK的安装路径:

在/usr/local/创建文件夹java目录

mkdir -p /usr/local/java

上传安装文件到linux:

l cd ~

l ll

解压tar.gz

首先需要安装依赖:【1~5分钟】

l yum install glibc.i686

l tar -zxvf jdk-7u71-linux-i586.tar.gz -C /usr/local/java

配置环境变量:

vim /etc/profile

#set java environment

JAVA_HOME=/usr/local/java/jdk1.7.0_71

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

重新加载配置文件:【否则环境变量不会重新执行】

source /etc/profile

Linux系统上安装MySQL:

安装MySQL:

  1. mysql安装:初始化本地登录密码
  2. 开放防火墙3306端口
  3. 赋予root用户远程登录权限,设置远程登录密码
卸载自带mysql:

查询mysql的安装情况

rpm -qa | grep mysql –-color

卸载原生的MySQL

rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686

上传mysql到Linux:
安装依赖:

yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6

yum  updatelibstdc++-4.4.7-4.el6.x86_64

安装mysql的服务端:

安装服务端

rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm

安装mysql的客户端:

rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm

启动mysql的服务:

启动MySQL服务

service mysql start

设置mysql初始密码并登陆MySQL:(本地登录密码)

/usr/bin/mysqladmin -u root password '123456'

设置开机自动启动mysql:

加入到系统服务:

chkconfig --add mysql

自动启动:

chkconfigmysql on

开启远程服务,并且设置远程登录密码

登录mysql:

//赋予root用户所有权限,远程登录密码是123456

grant all privileges on *.* to 'root' @'%' identified by '123456';

flush privileges;

设置Linux的防火墙:

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables save

Linux系统上安装tomcat:

安装tomcat:

上传tomcat的安装文件:
创建tomcat的安装路径:

mkdir -p /usr/local/tomcat

解压tomcat

tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local/tomcat

设置防火墙:

开放8080端口

/sbin/iptables -I INPUT -p tcp --dport8080 -j ACCEPT

保存配置

/etc/rc.d/init.d/iptables save

启动tomcat:

启动tomcat

执行/usr/local/tomcat/apache-tomcat-7.0.57/bin/startup.sh

关闭tomcat

执行/usr/local/tomcat/apache-tomcat-7.0.57/bin/shutdown.sh

2、redis简述及安装(看着文档安装)

SQL:重型坦克

MySQL/oracle:关系型数据库。数据和数据之间/表和表之间存在关系。

人员表-----身份证表中的数据一对一

分类表---商品表中的数据一对多

人员表---权限表中的数据多对多

优点:①表设计/数据的使用和现实生活息息相关

②表数据的增删改查操作比较简单

③保证数据的完整/安全

缺点:①占用大量的内存资源(伪表、关系算法)

②执行效率不高

③对海量数据/高并发请求无能为力

④海量数据时,表结构的维护无法进行。

目前移动互联网时代-----》物联网时代

信息量-------MB-GB

只有底盘高速跑车

非关系型数据库:NOSQL  (不仅仅是SQL)

特点:去掉了数据和数据之间关系。

Redis    2009年。

一秒钟可以轻松读写十几万数据量

优点:①轻松处理海量数据/高并发请求

②无论数据量多少,都可以对数据库进行维护

③执行效率远远高于关系型数据库

缺点:①数据和数据之间不存在关系,和现实生活严重脱节

②数据不再有完整性和安全性

关系型数据库和非关系型数据库不是相互替代的关系

重要数据:关系型数据库(钱)

不重要海量数据(高并发请求):非关系型数据库

redis安装:

redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要安装gcc:

yum install gcc-c++

如果提示是否下载,输入y。

如果提示是否安装,输入y

l 步骤1:将Windows下下载的压缩文件上传到Linux下。通过secureCRT进行上传,步骤如下:

l alt + p

l put F:/redis-3.0.0.tar.gz

l

l 步骤2: 解压文件

l tar –zxvf redis-3.0.0.tar.gz

l 步骤3: 编译redis (编译,将.c文件编译为.o文件)

l 进入解压文件夹,cd redis-3.0.0

l 执行make

1)如果没有安装gcc,编译将出现错误提示。(如果安装失败,必须删除文件夹,重写解压)

2)安装成功

l 步骤4: 安装

将redis安装到指定目录中/usr/local/redis。

PREFIX必须是大写

make PREFIX=/usr/local/redis install

l

安装完后,在/usr/local/redis/bin下有几个可执行文件

redis-benchmark ----性能测试工具

redis-check-aof ----AOF文件修复工具

redis-check-dump ----RDB文件检查工具(快照持久化文件)

redis-cli ----命令行客户端

redis-server ----redis服务器启动命令

l 步骤5: copy文件

redis启动需要一个配置文件,可以修改端口号等信息。

Cp redis.conf /usr/local/redis

如果没有配置文件redis也可以启动不过将启用默认配置

这样不方便我们修改端口号等信息无法进行后期集群的配置

无论前后端启动都要先进入redis程序的根目录:/usr/local/redis

前端启动:(了解)-无法部署集群

启动redis,客户端连接:连接6379端口

redis-cli -h ip地址 -p 端口

./bin/redis-cli -p 6379

./bin/redis-cli   开启客户端 可以操作redis

客户端/服务器端关闭:ctrl+c

Redis启动-后端模式

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

后端模式可以修改端口号,默认6379.      6379,6380,6381

Redis服务器的关闭:

① 查询到PID,kill -9 pid【断电,非正常关闭,一般不用,否则造成数据丢失】

②正常关闭【正常关闭,数据保存】

./bin/redis-cli shutdown

3、redis数据类型【重点】

Redis数据库----非关系型数据库----存储方式(key----value)

Redis数据库-----HashMap<String,Object>

Value的数据类型:

1、 字符串类型对应Java中的String。 512MB

存储大量文本信息,作为项目的缓存使用。

 

2、 散列类型(了解)相当于Java中的JavaBean,Map

几乎可以被String+json替代

3、 列表类型相当于Java中LinkedList(链表)。

数据增删效率极高

用户列表,VIP列表

 

4、 集合类型相当于Java中的set集合

set<String>

无序、唯一。

VIP列表,交集、并集、差集运算

5、 有序集合类型。有序的set集合。做排行榜

4、redis命令-String命令【重点】

字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型存入和获取的数据相同。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

MySQL:

Redis:

数据增删改查:

赋值:增改

取值:查

删值:删

l 赋值:

set key value:设定key持有指定的字符串value,如果该key存在则进行覆盖操作。总是返回”OK”

append key value:拼凑字符串。如果该key存在,则在原有的value后追加该值;如果该key不存在,则重新创建一个key/value

以上两种方法的区别:

在key—value存在时。Set覆盖,append末尾的追加

l 取值:

get key:获取key的value。如果与该key关联的value不是String类型,redis将返回错误信息,因为get命令只能用于获取String value;如果该key不存在,返回(nil)。 nil就是Java中的null

l 删除:

del key :删除指定key.【通用】返回int类型,删除了几条数据

keys *查询存储的所有键值对---键名(不论值类型)

5、redis命令-hash(了解)

使用环境:向某个value中保存一个大量数据的map集合,占用极少的空间。

l hmset key field value [field2 value2 …]:设置key中的多个filed/value

l hgetall key:获取key中的所有filed-vaule

l hmget key fileds:获取key中的多个filed的值

6、Jedis(java操作redis数据库技术)【明日重点】

Mysql由JDBC 进行连接JAVA。

Jedis------使用Java操作redis数据库。

Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。

在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。在企业中用的最多的就是Jedis,下面我们就重点学习下Jedis。

导入jar包

Jedis使用特点:redis中有什么命令,Jedis中就有什么方法对应。

Redis的命令名,Jedis的方法名

外界使用Redis,必须开放6379

开放6379端口

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

保存配置

/etc/rc.d/init.d/iptables save

Jedis的单实例:

Jedis池:

Jedis工具:

linux系统下安装jdk,mysql,tomcat 和redis 和jedis入门案例的更多相关文章

  1. linux系统下安装jdk、tomcat、mysql、redis

    一,安装jdk 1.rpm -qa | grep jdk 检测是否安装jdk 2.rpm -e --nodeps 要卸载的已有jdk名称 3.tar -zxvf jdk-7u71-linux-i586 ...

  2. Linux学习-linux系统下安装jdk和tomcat,以及遇到的问题清单

    安装JDK 1. 在usr目录下建立java安装目录 cd /usr mkdir java   2.下载jdk包 登录网址:http://www.oracle.com/technetwork/java ...

  3. 在Linux系统下安装jdk并配置环境变量

    本文主要介绍的是如何是Linux环境下安装JDK的,因为Linux环境下,很多时候也离不开Java的,下面笔者就和大家一起分享如何jdk1.8的过程吧. 1.安装环境 操作系统:CentOS 07 6 ...

  4. Linux系统下安装JDK

    注意:linux系统下使用mount命令挂载Windows系统下的共享文件,详情见我的另一篇“Linux系统挂载Windows系统下的共享文件” 一.安装jdk 1.进入usr目录cd /usr 2. ...

  5. Linux系统上安装JDK和Tomcat服务器

    一.安装JDK 1.查看当前Linux系统是否已经安装java  输入命令: rpm -qa | grep java 2.卸载两个openJDK  输入命令:rpm -e --nodeps 3.上传j ...

  6. Linux(ubuntu)下安装JDK、Tomcat

    一.安装jdk 1)首先以root用户登录进去,在根目录下建立opt的目录,我们将下载的东西都放到该目录下去. 2)下载j2sdk ,如jdk-6u31-linux-i586.bin 下载地址如下ht ...

  7. linux系统下安装apache与tomcat

    apache的安装 把安装包放到/soft 下 [root@localhost ~]#cd /soft [root@localhost soft]#tar jxvf httpd-2.2.25.tar. ...

  8. 关于Ubuntu18.04 linux系统使用安装JDK Mysql

    平台部署 一.安装JDK step1.下载OracleJDKstep2. 解压step3. 加入环境变量 具体操作如下: lemon@ubuntu:~$ cd ~/download/ lemon@ub ...

  9. linux环境下安装jdk,tomcat

    一.安装tomcat 1.使用docker安装(你得linux服务器上已经安装了docker) 1)执行命令: docker search tomcat; 2)选择第一个镜像进行下载,执行命令:doc ...

随机推荐

  1. Spring Security 入门(1-1)Spring Security是什么?

    1.Spring Security是什么? Spring Security 是一个安全框架,前身是 Acegi Security , 能够为 Spring企业应用系统提供声明式的安全访问控制. Spr ...

  2. OAuth2.0学习(1-4)授权方式1-授权码模式(authorization code)

    参与者列表: (1) Third-party application:第三方应用程序,又称客户端(client),如:"云冲印".社交应用. (2)HTTP service:HTT ...

  3. Homebrew update error not work on OSX

    brew update 错误是这样的 chown: /usr/local: Operation not permitted 然后网上osx 10.11, 10.12的解决方法这样的 The probl ...

  4. CSS简介及基本知识

    (CSS)cascading style sheets:层叠样式表.级联式样式表,简称:样式表. Sheets :就是一个样式文件,它的扩展名为.css Style:外观,个性化 样式表的位置 为了学 ...

  5. python——常用模块2

    python--常用模块2 1 logging模块 1.1 函数式简单配置 import logging logging.debug("debug message") loggin ...

  6. 框架学习笔记之Mybatis(二)

    一.动态sql 通过mybatis提供的标签,实现sql语句的拼接. 1.where <select id="findUserList" parameterType=&quo ...

  7. Java面试题——中级(下)

    内部类和静态内部类的区别 内部类: 1.内部类中的变量和方法不能声明为静态的. 2.内部类实例化:B是A的内部类,实例化B:A.B b = new A().new B(). 3.内部类可以引用外部类的 ...

  8. 爬取IP

    import urllib.request import re def url_open(url): req = urllib.request.Request(url,headers={'User-A ...

  9. MSIL实用指南-闭包的生成和调用

    闭包(Closure)是词法闭包(Lexical Closure)的简称.对闭包的具体定义有很多种说法,这些说法大体可以分为两类: 一种说法认为闭包是符合一定条件的函数,比如参考资源中这样定义闭包:闭 ...

  10. C#扩展方法(转)

    扩展方法使您能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型." 这是msdn上说的,也就是你可以对String,Int,DataRo ...