• Linux下使用Redis教程(一)


    Linux下使用Redis教程(一)或者看一下https://www.imooc.com/article/34559个地址

    2018-05-24 12:56:15 大道之简 阅读数 2338更多

    分类专栏: Linux学习 Redis 软件工具

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    本文链接:https://blog.csdn.net/HcJsJqJSSM/article/details/80432706

    之前安装过也使用过的的Redis的,总结一下安装的过程吧。(其实和Nginx的的是一样的安装方法,C编写,编译安装,稍微麻烦一下,但是速度快。对比的Tomcat的(JAVA))

    环境搭建:CentesOS 7,redis-3.0.0.tar.gz,SecureCRT。RedisClient客户端. 

    首先将下载的安装包上传的的Linux下,获取官网的的的Redis的对应版本的链接,使用了wget的命令都可以的。

    由于redis的的是由Ç语言开发的,所以要安装一下GCC的编译环境。(使用Yum在线安装)

    yum install -y gcc

    检查一下是否安装成功了.

    rpm -qa |grep gcc

    然后解压到指定的目录(这里没有指定解压目录,就是当前所在目录)

    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

    然后就是编译了

    使用 make命令.

    make

     

     

    接下来将redis的的安装到指定的目录里面(下面的那个redis的的不需要提前创建的)

    使用PREFIX = / usr / local / src / redis安装至指定目录里面.

    make install PREFIX=/usr/local/src/redis

     

    来到在/ usr / local / src/ redis的目录下

     

    进入仓目录里面发现没有redis.conf的配置文件。

    Redis的的-3.0.0的目录下的redis.conf复制到刚才的仓目录下的。

    cp redis.conf / usr / local / src / redis / bin

    cd / usr / local / src / redis / bin

     

    接下来就是启动的Redis的了的.Redis的启动的有前台启动和后台启动的两种方式的。

    首先介绍一下前台启动:

    cd bin

    ./redis-server

     

    前台启动的弊端:这个窗口不能关闭的如果关闭了Redis的的服务就关闭了的。

    使用后端启动的方式。先将前台启动的方式给关闭了的。

    ./redis-cli -p 6379(端口号,不是进程号)shutdown

    修改redis.conf下的配置文件

    vim redis.conf

     

    后台启动:BIN目录下。

    ./redis-server ./redis.conf

     

    查看启动进程:(挂载配置文件)

    ps -ef | grep -i redis

     

    至此Redis的的的启动就完成了的。

    如果要使用远程连接,那就开放端口6379。

    firewall-cmd --zone = public --add-port = 6379 / tcp --permanent

     

    Redis的的的仓目录下的几个文件介绍

     

    Redis的的基准测试:性能测试工具。

    Redis的的检查,AOF:检查修复AOF文件

    Redis的的检查转储:检查快照持久文件

    Redis的的-CLI:Redis的的的客户端

    Redis的的服务器:redis的的的服务器启动命令.

    上面是完成的Redis的服务启动的。下面就启动客户端连接服务器的。

    cd bin

     

    使用一下:(设置值和获取值)

     

    退出客户端连接的方式:(exit)

     

    远程客户端连接:(redis设置登录密码)

    vim redis.conf

     

     

    注意连接远程Redis:(例如连接阿里云,华为云上的Redis)

    ①:修改Redis.conf(关闭安全模式)

     

    ②:注释掉默认的127.0.0.1的那个是默认本地可以访问的,修改为0.0.0.0,确保所有ip可以访问的.

     

    ③:  firewall-cmd开启6379端口.等会云服务平台,修改安全组规则.

     firewall-cmd --zone=public --add-port=6379/tcp --permanen(后面的参数是永久生效的)

     firewall-cmd --reload

     

    ④:添加一个连接密码 

     

    二:Windows下安装Redis.

    官网上对于Redis For Windows的安装没看到相关的介绍.

    GitHub上是提供Redis的Windows的版本的.链接.

    下载解压至本地盘符下.

    双击redis-server.exe启动服务端.redis-cli.exe启动客户端.但是这个时候启动的时候,Redis服务端闪退.

    解决方法:

          ①:在cmd下运行而不是双击redis-server.exe:

         

         ②:或者是设置一下占用的内存.

                 redis-server.exe redis.windows.conf --maxmemory 200m  

                修改配置文件redis.windows.conf :maxmemory 209715200(单位字节).

                现在在cmd下运行.

       

         启动客户端. 进行基本命令的操作使用.

        

       三: JavaAPI测试Redis的读写性能.

        3.1 首先是导入两个jar包.

       

      3.2 测试Redis的10w数据写读耗费时间.使用了流水线技术.批量处理.本地测试.

    1. import java.time.Duration;
    2. import java.time.Instant;
    3. import java.util.List;
    4. import redis.clients.jedis.Jedis;
    5. import redis.clients.jedis.JedisPool;
    6. import redis.clients.jedis.JedisPoolConfig;
    7. import redis.clients.jedis.Pipeline;
    8. /**
    9. * title: RedisDemo
    10. * author:
    11. * date:
    12. * description:测试Redsi的10万数据写读耗费时间
    13. * 开启流水线测试信息.
    14. */
    15. public class RedisDemo {
    16. public static void main(String[] args) {
    17. JedisPoolConfig poolConfig=new JedisPoolConfig();
    18. // 最大空闲连接数
    19. poolConfig.setMaxIdle(50);
    20. // 最大连接数
    21. poolConfig.setMaxTotal(100);
    22. // 最大等待毫秒数
    23. poolConfig.setMaxWaitMillis(20000);
    24. // 使用配置连接池
    25. JedisPool pool=new JedisPool(poolConfig, "localhost", 6379);
    26. // 获取Redis连接
    27. Jedis jedis=pool.getResource();
    28. // 配置客户端登录密码
    29. jedis.auth("123456");
    30. Instant start=Instant.now();
    31. // 开启流水线
    32. Pipeline pipeline=jedis.pipelined();
    33. // 测试10万字符串数据的写入和读取
    34. for(int i=1;i<=100000;i++){
    35. // 设置key
    36. pipeline.set("pipe-key-"+i, i+"");
    37. // 读取key
    38. pipeline.get("pipe-key-"+i);
    39. }
    40. // 返回结果.将执行过的命令以list集合返回结果.
    41. List<Object> result=pipeline.syncAndReturnAll();
    42. // 关闭连接
    43. jedis.close();
    44. pool.close();
    45. Instant end=Instant.now();
    46. System.out.println("一共运行了"+result.size()+"个命令");
    47. System.out.println("计算耗时:"+Duration.between(start, end).toMillis()+"毫秒");
    48. }
    49. }

    运行结果:需要时间平均不到1s.

    查看Redis的key数目.是一共10w条数据.

       3.3 测试Redis的1秒写入.使用了流水线技术批量处理,而不是一条一条的发送命令.本地测试.PC内存8G

    1. import java.time.Duration;
    2. import java.time.Instant;
    3. import redis.clients.jedis.Jedis;
    4. import redis.clients.jedis.JedisPool;
    5. import redis.clients.jedis.JedisPoolConfig;
    6. import redis.clients.jedis.Pipeline;
    7. /**
    8. * title: RedisDemo
    9. * @author:
    10. * date:
    11. * description:测试Redsi的每秒读写
    12. * 之前是一条一条命令测试的.
    13. * 开启流水线,批量执行.
    14. */
    15. public class RedisDemo {
    16. public static void main(String[] args) {
    17. JedisPoolConfig poolConfig=new JedisPoolConfig();
    18. // 最大空闲连接数
    19. poolConfig.setMaxIdle(50);
    20. // 最大连接数
    21. poolConfig.setMaxTotal(100);
    22. // 最大等待毫秒数
    23. poolConfig.setMaxWaitMillis(20000);
    24. // 使用配置连接池
    25. JedisPool pool=new JedisPool(poolConfig, "localhost", 6379);
    26. // 获取Redis连接
    27. Jedis jedis=pool.getResource();
    28. // 配置客户端登录密码
    29. jedis.auth("123456");
    30. Instant start=Instant.now();
    31. // 开启流水线
    32. Pipeline pipeline=jedis.pipelined();
    33. int i=0;
    34. // 测试10万字符串数据的写入和读取
    35. while(true){
    36. // 设置key
    37. Instant end=Instant.now();
    38. if(Duration.between(start, end).toMillis()>1000){
    39. break;
    40. }
    41. i++;
    42. pipeline.set("pipe-key-sed-"+i, i+"");
    43. }
    44. // 关闭连接
    45. jedis.close();
    46. pool.close();
    47. System.out.println("redis每秒写入"+i+"次");
    48. }
    49. }

    运行结果:平均每秒20W+.

    此时,无论是程序中使用Jedis连接还是RedisClient连接都是可以的.  

  • 相关阅读:
    Docker 中 安装Redis
    k8s1.19.16 二进制安装
    K8S(kubernetes)+containerd部署指南
    npm install及其目录结构
    Caddy神奇: http服务免ssl证书改造为https
    gdb的set followforkmode child如何工作
    请求JAVA接口 一直返回 超时
    docker系列 可视化监控容器
    docker系列什么是docker
    docker系列 安装redis
  • 原文地址:https://www.cnblogs.com/smilevv/p/13260777.html
Copyright © 2020-2023  润新知