zoukankan      html  css  js  c++  java
  • redis 相关知识

    1. 什么是Redis

    Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),

    该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。

     通常而言目前的数据库分类有几种,包括 SQL/NSQL,,关系数据库,键值数据库等等 等,分类的标准也不以,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。

    从而使它的位置处于关系数据库和键值数 据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT) 等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,

    除此以外,还支持主从复制等功能。

    2. Redis应用场景,它能做什么

    众多语言都支持Redis,因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。

    3.redis命令参考

    http://redisdoc.com/

    http://www.runoob.com/redis/redis-intro.html

    https://www.cnblogs.com/edisonfeng/p/3571870.html

    4 Redis的缺点

    是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

    5.java里redis相关用法

      //连接本地的 Redis 服务
    Jedis jedis = new Jedis("10.0.34.52",6379);
    jedis.auth("");
    System.out.println("Connection to server sucessfully");
    //查看服务是否运行
    System.out.println("Server is running: " + jedis.ping());
    System.out.println("增加key01:值value:你好redis"+jedis.set("01", "你好redis"));
    System.out.println("增加key01:值value:你好redis"+jedis.set("quchangyu","你好redis"));
    System.out.println("你在吗:"+jedis.exists("01"));
    Set<String> keys = jedis.keys("*");
    Iterator<String> iterator = keys.iterator();
    while(iterator.hasNext()){
    String next = iterator.next();
    // System.out.println(jedis.get(next));
    }

    System.out.println(jedis.get("01"));
    jedis.set("01","修改后你好redis");
    System.out.println(jedis.get("01"));

    jedis.sadd("aaa","value+aaa1");
    jedis.sadd("aaa","value+aaa2");
    jedis.sadd("aaa","value+aaa3");
    jedis.sadd("aaa","value+aaa4");
    jedis.sadd("aaa","value+aaa5");
    jedis.sadd("aaa","value+aaa6");
    jedis.sadd("aaa", "value+aaa7");
    System.out.println(jedis.smembers("aaa"));
    jedis.srem("aaa","value+aaa5");
    System.out.println("删除后"+jedis.smembers("aaa"));
    Set<String> aaa = jedis.smembers("aaa");
    Iterator<String> it1 = aaa.iterator();
    while(it1.hasNext()){
    String next = it1.next();
    System.out.println(next);
    }

    System.out.println("listlistlistlistlistlistlistlistlistlistlistlistlistlistlistlist");


    jedis.lpush("list","list1");
    jedis.lpush("list","list2");
    jedis.lpush("list","list3");
    jedis.lpush("list","list4");
    jedis.lpush("list","list5");
    jedis.lpush("list","list6");
    jedis.lpush("list","list7");
    jedis.lpush("list","list8");
    System.out.println(jedis.lrange("list",0,-1));
    System.out.println("---------------------------");
    //从队列左部添加元素
    jedis.lpush("list","list9");

    System.out.println(jedis.lrange("list",0,-1));
    System.out.println("---------------------------");
    //从队列右部添加
    jedis.rpush("list", "lift0");
    System.out.println(jedis.lrange("list",0,-1));
    System.out.println("---------------------------");
    //从左出队
    jedis.lpop("list");
    System.out.println(jedis.lrange("list",0,-1));
    System.out.println("---------------------------");
    //从右出队
    jedis.rpop("list");
    System.out.println(jedis.lrange("list",0,-1));

    System.out.println("---------------------------插入");
    jedis.linsert("list", BinaryClient.LIST_POSITION.BEFORE,"list4","nihao");
    System.out.println(jedis.lrange("list",0,-1));

    }
    6.

    Redis队列功能介绍

    List

    常用命令:

    Blpop删除,并获得该列表中的第一元素,或阻塞,直到有一个可用

    Brpop删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用

    Brpoplpush

    Lindex获取一个元素,通过其索引列表

    Linsert在列表中的另一个元素之前或之后插入一个元素

    Llen获得队列(List)的长度

    Lpop从队列的左边出队一个元素

    Lpush从队列的左边入队一个或多个元素

    Lpushx当队列存在时,从队到左边入队一个元素

    Lrange从列表中获取指定返回的元素

    Lrem从列表中删除元素

    Lset设置队列里面一个元素的值

    Ltrim修剪到指定范围内的清单

    Rpop从队列的右边出队一个元素

    Rpoplpush删除列表中的最后一个元素,将其追加到另一个列表

    Rpush从队列的右边入队一个元素

    Rpushx从队列的右边入队一个元素,仅队列存在时有效

    想要体面生活,又觉得打拼辛苦;想要健康身体,又无法坚持运动。人最失败的,莫过于对自己不负责任,连答应自己的事都办不到,又何必抱怨这个世界都和你作对?人生的道理很简单,你想要什么,就去付出足够的努力。
  • 相关阅读:
    Fastjson的常用方法总结
    Springboot整合Gson报错
    SQL优化学习笔记(二)
    eclipse安装阿里巴巴代码规约插件
    Maven:记一次将jar包添加到maven私库的过程
    zookeeper 开机自启动 -- CentOS7
    JVM相关配置项
    JVM 优化
    jstat命令查看jvm的GC情况
    GC(Allocation Failure)引发的一些JVM知识点梳理
  • 原文地址:https://www.cnblogs.com/potentPrince/p/8664970.html
Copyright © 2011-2022 走看看