• redis


    NoSQL

    介绍Redis之前,先了解下NoSQL (Not noly SQL)不仅仅是SQL属于非关系型数据库;Redis就属于非关系型数据库;传统的Mysql ,oracle ,sql server 等都是关系型数据库

    使用NoSQL主要应对以下问题,传统关系型数据库力不从心

    High performance -高并发读写

    Huge Storage-海量数据的高效率存储和访问

    High Scalablility && High Availability 高可扩展性和高可用性

    特点

    易扩展   灵活的数据模型  大数据量 高性能  高可用

    高性能键值对数据库  支持的键值数据类型

    字符串类型 列表类型 有序集合类型 散列类型 集合类型

    Redis的应用场景

    缓存 任务队列 网站访问统计 数据过期处理 应用排行榜 分布式集群架构中的session分离

    Redis安装

    服务器没有gcc环境的 先来安装gcc  redis是基于c编写的

    [root@hdp-01 ~]# yum install gcc-c++ -y

    wget方式 下载redis压缩包 解压以及编译

    [root@hdp-01 ~]# wget http://download.redis.io/releases/redis-4.0.12.tar.gz
    [root@hdp-01 ~]# tar -zxvf redis-4.0.12.tar.gz
    [root@hdp-01 ~]# cd redis-4.0.12
    [root@hdp-01 ~]# make

    安装redis

    [root@hdp-01 redis-4.0.12]# make PREFIX=/usr/local/redis install

    redis已经安装到了/usr/local/redis下

    cd回到root,我们需要把一个配置文件 复制到 /usr/local/redis下 后台启动用到

    [root@hdp-01 redis-4.0.12]# cp redis.conf /usr/local/redis/

    启动和关闭redis服务

    启动redis就是执行redis里的bin里的redis-server命令

    进入redis目录 执行

    [root@hdp-01 redis-4.0.12]#  cd /usr/local/redis/
    [root@localhost redis]# bin/redis-server

     出现这种图标,说明启动成功 但是 这种启动是前端或者前台启动 假如退出 程序就终止或者退出了

    所以这种服务程序 必须后端运行 通过修改配置文件redis.conf

    [root@hdp-01 redis]# vi /usr/local/redis/redis.conf

    找到

     no 改为 yes

     加载配置文件运行

    [root@localhost redis]# ./bin/redis-server ./redis.conf 

    通过ps -ef | grep -i redis命令来搜索redis服务

    [root@hdp-01 redis]#  ps -ef | grep -i redis
    root      26442      1  0 16:40 ?        00:00:00 ./bin/redis-server 127.0.0.1:6379
    root      26447  21137  0 16:41 pts/0    00:00:00 grep --color=auto -i redis

    redis基本使用

    redis-cli 连接redis客户端命令

    [root@hdp-01 redis]#  ./bin/redis-cli
    127.0.0.1:6379> set  name zhangsan
    OK
    127.0.0.1:6379> get name
    "zhangsan"

    Jedis

    实际开发中 我们需要用Redis的连接工具连接Redis然后操作Redis 对于主流语言 Redis都提供了对应的客户端

    Redis提供了很多客户端 官方推荐的是Jedis  托管地址:https://github.com/xetorthio/jedis

     https://redis.io/clients#java

    Jedis连接 HelloWorld实现

    新建Maven项目 pom里加下jedis依赖

    <dependencies>
        <dependency>
         <groupId>redis.clients</groupId>
         <artifactId>jedis</artifactId>
         <version>2.9.0</version>
        </dependency>
     </dependencies>
    public class JedisTest {
        
         public static void main(String[] args) {
                Jedis jedis=new Jedis("192.168.88.128",6379); // 创建客户端 设置IP和端口
                jedis.set("name", "lisi"); // 设置值
                String value=jedis.get("name"); // 获取值
                System.out.println(value);
                jedis.close(); // 释放连接资源
            }
    }

    测试代码  运行 报错了

    配置下防火墙 开一个6379端口权限

    [root@hdp-01 ~]# firewall-cmd --zone=public --add-port=6379/tcp --permanent
    [root@hdp-01 ~]# firewall-cmd --reload

    继续运行 还是报错 连接超时 错误  我们配置下 redis配置文件

    [root@hdp-01 redis]# vi /usr/local/redis/redis.conf

    这里绑定了本机 我们把这个备注掉

    # bind 127.0.0.1

    配置完后 

    [root@localhost redis]# ps -ef | grep -i redis
    [root@localhost redis]# kill -9 1180 [root@localhost redis]# ./bin/redis-server ./redis.conf

     继续运行 又报错了

    设置redis连接密码

    [root@hdp-01 redis]# ./bin/redis-cli
    127.0.0.1:6379> config set requirepass 123456
    OK
    public class JedisTest {
        
         public static void main(String[] args) {
                Jedis jedis=new Jedis("192.168.88.128",6379); // 创建客户端 设置IP和端口
                jedis.auth("123456");
                jedis.set("name", "lisi"); // 设置值
                String value=jedis.get("name"); // 获取值
                System.out.println(value);
                jedis.close(); // 释放连接资源
            }
    }
    [root@hdp-01 redis]# ./bin/redis-cli
    127.0.0.1:6379> auth 123456
    OK
    127.0.0.1:6379> get name
    "lisi"
  • 相关阅读:
    checkbox的问题整理
    通过阅读ASP.NET MVC5 框架解密 路由的一点心得
    用JS实现避免重复加载相同js文件
    如何给一个网站设置子网站
    Linux环境下Python的安装过程
    linux下更新Python版本并修改默认版本
    【引用】如何读技术类书籍
    专业收藏_资格证书
    ASP.NET单元测试配置文件
    面试收集
  • 原文地址:https://www.cnblogs.com/renxixao/p/11442770.html
Copyright © 2020-2023  润新知