redis 常用命令 和redisAPI

redis常用命令

字符串常用的操作
添加字符串 set hello world
设置多个KV mset AA AAA BB BBB CC CCC
设置过期时间 setex hello1 5 word1
查询字符串 get hello
查询多key mget hello hello2 hello3
查询长度 strlen hello
修改字符串 set hello world2
删除字符串 del hello
hash常用的操作
添加一个hash列表 hset hkey1 name zhangsan
一次设置多个值 hmset hkey3 name wangwu age 20 sex 1
查看数据 hget hkey1 name
查询key内所有的字段 hkeys hkey3
查询key的数据量 hlen hkey3
查询某一key内多字段的值 hmget hkey3 name age
修改数据 hset hkey1 name zhangsan2
删除key中的数据 hdel hkey3 sex
list常用的操作
添加一个或多个值到列表 lpush lkey1 zhangsan lisi
向已经存在的列表中插入数据(右边插入) rpush lkey1 AA BB
查询list中所有数据 (-1表示所有) lrange lkey1 0 -1
通过索引查询数据 lindex lkey1 0
通过索引修改数据 lset lkey1 5 eee
删除指定key数据 del lkey1
移出并获取列表的第一个元素 lpop lkey1
移出并获取列表的最后一个元素 rpop lkey1
移除列表的最后一个元素,并将该元素添加到另一个列表并返回 rpoplpush lkey1 lkey2
set常用的操作
向集合添加一个或多个数据 sadd skey1 zhangsan lisi
查询集合所有数据 smembers skey1
查询两个集合的差值 sdiff skey1 skey2
查询两个集合交集 sinter skey1 skey2
查询并集 sunion skey1 skey2
将数据在一个集合移动到另一个集合 smove skey1 skey2 zhangsan
移除结果中的某个数据 srem skey2 zhangsan
对key常用的操作
查询所有符合模式的key K****eys *
查询key对应数据的类型 Type hkey1
查询剩余过期时间(秒) ttl hkey1
对key进行重命名 Rename hkey1 hkey10
删除存在的key del BB

pom

    <groupId>org.example</groupId>
    <artifactId>redisAPI</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.14.3</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <!--    <verbal>true</verbal>-->
                </configuration>
            </plugin>
        </plugins>
    </build>

redisAPI 代码示例

package com.czxy;

import redis.clients.jedis.*;

/**
 * @author dell
 * @version v 1.0
 * @date 2020.3.13
 */
public class Test01 {
    public static void main(String[] args) {
        test01();
        test02();
        config().close();
    }
    
	public static JedisPool config(){
        //设置redis连接池的连接参数
        JedisPoolConfig config = new JedisPoolConfig();
        //设置连接池大小
        config.setMaxTotal(20);
        //设置最小空闲数
        config.setMinIdle(5);
        //设置最大空闲数
        config.setMaxIdle(10);
        //设置最长等待时间
        config.setMaxWaitMillis(10000);
        //实例连接池
        return new JedisPool(config, "hadoop01", 6379);
    }

    public static void test01(){
        //调用方法创建连接对象
        Jedis jedis = config().getResource();

        //	1、创建两个list  名字分别为ltest1    ltest2.
        //2、Ltest1 从左到右为1 2 3 4 5 6 7 8 9,ltest2 从左到右为 f e d c b a
        jedis.rpush("ltest1", "1", "2", "3", "4", "5", "6", "7", "8", "9");
        jedis.lpush("ltest2", "a", "b", "c", "d", "e", "f");

        //3、在Ltest1的3 左边插入3333
        jedis.linsert("ltest1", BinaryClient.LIST_POSITION.BEFORE,"3","3333");
        //4、在6右边插入6666
        jedis.linsert("ltest1", BinaryClient.LIST_POSITION.AFTER,"6","6666");

        //5、通过索引查询Ltest2 索引为3的数据
        String ltest2 = jedis.lindex("ltest2", 3);
        System.out.println("lTest2 索引为3的数据为:" + ltest2);

        //6、将ltest2的e 修改为EEE
        jedis.lset("ltest2",1,"EEE");
        //7、只保留ltest2的EEE d c b
        jedis.ltrim("ltest2", 1, 4);
        //8、移除ltest1右边一个数据并插入ltest2的左边
        jedis.rpoplpush("ltest1","ltest2");

        //关闭连接
        jedis.close();
    }

    public static void test02(){
        //调用方法创建连接对象
        Jedis jedis = config().getResource();

        //添加set 集合 setdemo1(aa,bb,cc,dd,ee,ff)
        jedis.sadd("setdemo1","aa","bb","cc","dd","ee","ff");
        //setdemo2(11,22,33,dd,ee,ff)
        jedis.sadd("setdemo2","11","22","33","dd","ee","ff");
        //将两个集合的交集写入setdemo3
        jedis.sinterstore("setdemo3","setdemo1","setdemo2");
        //将两个集合的并集写入setdemo4
        jedis.sunionstore("setdemo4","setdemo1","setdemo2");
        //将setdemo2集合与setdemo1集合的差集写入setdemo5
        jedis.sdiffstore("setdemo5","setdemo2","setdemo1");
        //将setdemo2内的11 移动到setdemo1内
        jedis.smove("setdemo2","setdemo1","11");
        //删除setdemo1内的bb
        jedis.srem("setdemo1","bb");
        jedis.close();
    }
}

猜你喜欢

转载自blog.csdn.net/hongchenshijie/article/details/105208179
今日推荐