redis 常用命令 和redisAPI

redis常用命令

字符串常用的操作
添加字符串set hello world
设置多个KVmset AA AAA BB BBB CC CCC
设置过期时间setex hello1 5 word1
查询字符串get hello
查询多keymget 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常用的操作
查询所有符合模式的keyK****eys *
查询key对应数据的类型Type hkey1
查询剩余过期时间(秒)ttl hkey1
对key进行重命名Rename hkey1 hkey10
删除存在的keydel 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();
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值