redis Jedis

redis

jedis

参考网上的一些教程,用于自己的学习记录,也为大家提供一些参考
慢慢来会很快,不要急,越是急躁越学不会
在这里插入图片描述

测试

1.导入对应的依赖

<!--导入jedis-->
    <dependencies>
       <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.2.0</version>
        </dependency>
<!--        fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.74</version>
        </dependency>
    </dependencies>

2.编码测试

  1. 连接数据库

  2. 操作命令

  3. 断开连接

测试:

package com.xing;

import redis.clients.jedis.Jedis;

public class TestPing {
    public static void main(String[] args) {
    //1.new Jedis 对象即可
        Jedis jedis = new Jedis ("127.0.0.1",6379);
        //jedis 所有的命令就是我们之前学习的所有的命令!所有之前的指令学习很重要!
        System.out.println (jedis.ping ());
    }
}

输出:pong

常用的API

String
List
Set
Hash
Zset

package com.xing;

import redis.clients.jedis.Jedis;

import java.util.Set;

public class TestKey {
    public static void main(String[] args) {
        //1.new Jedis 对象即可
        Jedis jedis = new Jedis ("127.0.0.1",6379);
        System.out.println ("清空数据:"+jedis.flushDB ());
        System.out.println ("判断某个键是否存在:"+jedis.exists ("username"));
        System.out.println ("新增<'username','xingfuhao'>的键值对:"+jedis.set ("username","xingfuhao"));
        System.out.println ("新增<'password','password'>的键值对:"+jedis.set ("password","password"));
        System.out.println ("系统中所有的键如下:");
        Set<String> keys=jedis.keys ("*");
        System.out.println (keys);
        System.out.println ("删除键password:"+jedis.del ("password"));
        System.out.println ("判断键password是否存在:"+jedis.exists ("password"));
        System.out.println ("查看键username所存储值的类型"+jedis.type ("username"));
        System.out.println ("随机返回key空间的一个:"+jedis.randomKey ());
        System.out.println ("重命名key:"+jedis.rename ("username","name"));
        System.out.println ("去除改后的name:"+jedis.get ("name"));
        System.out.println ("按照索引查询:"+jedis.select (0));
        System.out.println ("删除当前选择数据库中的所有key:"+jedis.flushDB ());
        System.out.println ("返回当前数据库中key的数目:"+jedis.dbSize ());
        System.out.println ("删除所有数据库中的所有key:"+jedis.flushAll ());
    }
}

jedis在Java中事务的执行

package com.xing;

import com.alibaba.fastjson.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;

public class TestTX {
    public static void main(String[] args) {
        //1.new Jedis 对象即可
        Jedis jedis = new Jedis ("127.0.0.1",6379);
        jedis.flushDB ();
        JSONObject jsonObject = new JSONObject ();
        jsonObject.put ("hello","world");
        jsonObject.put ("name","xingfuhao");
        //开启事务
        Transaction multi = jedis.multi ();
        String result = jsonObject.toString ();
      //  jedis.watch (result);
        try {
            multi.set ("user1",result);
            multi.set ("user2",result);
        //    int i=1/0;  //代码抛出异常事务,执行失败
            multi.exec (); //执行事务!
        } catch (Exception e) {
            multi.discard ();  //放弃事务
            e.printStackTrace ();
        } finally {
            System.out.println (jedis.get ("user1"));
            System.out.println (jedis.get ("user2"));
            jedis.close ();
        }

    }
}



















xingfuhao@xingfuhaodeMacBook-Air-1999 ~ % redis-cli -p 6379

127.0.0.1:6379> ping

PONG

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> ps -ef|grep redis

(error) ERR unknown command `ps`, with args beginning with: `-ef|grep`, `redis`, 

127.0.0.1:6379> keys *

(empty array)

127.0.0.1:6379> set name xing

OK

127.0.0.1:6379> set age 22

OK

127.0.0.1:6379> keys *

1) "age"

2) "name"

127.0.0.1:6379> exists name

(integer) 1

127.0.0.1:6379> exists name1

(integer) 0

127.0.0.1:6379> expire name 5

(integer) 1

127.0.0.1:6379> keys *

1) "age"

127.0.0.1:6379> expire age 15

(integer) 1

127.0.0.1:6379> ttl age

(integer) 10

127.0.0.1:6379> ttl age

(integer) 6

127.0.0.1:6379> set name xfh

OK

127.0.0.1:6379> set age 22

OK

127.0.0.1:6379> keys *

1) "age"

2) "name"

127.0.0.1:6379> type name

string

127.0.0.1:6379> append name hello

(integer) 8

127.0.0.1:6379> keys *

1) "age"

2) "name"

127.0.0.1:6379> get name

"xfhhello"

127.0.0.1:6379> STRLEN name

(integer) 8

127.0.0.1:6379> append name ",hello"

(integer) 14

127.0.0.1:6379> strlen name

(integer) 14

127.0.0.1:6379> get name

"xfhhello,hello"

127.0.0.1:6379> set views 0

OK

127.0.0.1:6379> get views

"0"

127.0.0.1:6379> INCR views

(integer) 1

127.0.0.1:6379> INCR views

(integer) 2

127.0.0.1:6379> get views

"2"

127.0.0.1:6379> INCRBY views 10

(integer) 12

127.0.0.1:6379> DECRBY views 5

(integer) 7

127.0.0.1:6379> get name

"xfhhello,hello"

127.0.0.1:6379> GETRANGE name 0 5 

"xfhhel"

127.0.0.1:6379> setex key3 20 "HELLO"

OK

127.0.0.1:6379> TTL KEY3

(integer) -2

127.0.0.1:6379> ttl key3

(integer) 1

127.0.0.1:6379> setex key3 20 "HELLO"

OK

127.0.0.1:6379> ttl key3

(integer) 16

127.0.0.1:6379> setnx mykey "redis"

(integer) 1

127.0.0.1:6379> keys *

1) "mykey"

2) "views"

3) "age"

4) "name"

127.0.0.1:6379> ttl key3

(integer) -2

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3

OK

127.0.0.1:6379> keys *

1) "mykey"

2) "age"

3) "views"

4) "k3"

5) "k2"

6) "name"

7) "k1"

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> keys *

(empty array)

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3

OK

127.0.0.1:6379> keys *

1) "k3"

2) "k2"

3) "k1"

127.0.0.1:6379> mget 

(error) ERR wrong number of arguments for 'mget' command

127.0.0.1:6379> mget k1 k2 k3

1) "v1"

2) "v2"

3) "v3"

127.0.0.1:6379> msetnx k1 v1 k4 v4

(integer) 0

127.0.0.1:6379> get k4

(nil)

127.0.0.1:6379> mset user:1:name zhangsan user:1:age 22

OK

127.0.0.1:6379> mset user

(error) ERR wrong number of arguments for 'mset' command

127.0.0.1:6379> mset user:1

(error) ERR wrong number of arguments for 'mset' command

127.0.0.1:6379> mset user:1:name user:1:age

OK

127.0.0.1:6379> mget user:1:name user:1:age

1) "user:1:age"

2) "22"

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> mset user:1:name zhangsan user:1:age 22

OK

127.0.0.1:6379> mget user:1:name user:1:age

1) "zhangsan"

2) "22"

127.0.0.1:6379> getset db redis

(nil)

127.0.0.1:6379> get db

"redis"

127.0.0.1:6379> getset db mongodb

"redis"

127.0.0.1:6379> get db

"mongodb"

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> lpush list one

(integer) 1

127.0.0.1:6379> lpush list two

(integer) 2

127.0.0.1:6379> lpush list three

(integer) 3

127.0.0.1:6379> LRANGE 0 -1

(error) ERR wrong number of arguments for 'lrange' command

127.0.0.1:6379> LRANGE list 0 -1

1) "three"

2) "two"

3) "one"

127.0.0.1:6379> lrange list 0 1

1) "three"

2) "two"

127.0.0.1:6379> loop list

(error) ERR unknown command `loop`, with args beginning with: `list`, 

127.0.0.1:6379> Loop list

(error) ERR unknown command `Loop`, with args beginning with: `list`, 

127.0.0.1:6379> lpop list

"three"

127.0.0.1:6379> rpop list

"one"

127.0.0.1:6379> LRANGE list 0 -1

1) "two"

127.0.0.1:6379> lpush list one

(integer) 2

127.0.0.1:6379> LRANGE list 0 -1

1) "one"

2) "two"

127.0.0.1:6379> lindex list 1

"two"

127.0.0.1:6379> lindex list 0

"one"

127.0.0.1:6379> lindex list 2

(nil)

127.0.0.1:6379> LLEN list

(integer) 2

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> lpush list 1

(integer) 1

127.0.0.1:6379> lpush list 2

(integer) 2

127.0.0.1:6379> lpush list 3

(integer) 3

127.0.0.1:6379> lpush list 4

(integer) 4

127.0.0.1:6379> LLEN list

(integer) 4

127.0.0.1:6379> lpush list 4

(integer) 5

127.0.0.1:6379> LRANGE list 0 -1

1) "4"

2) "4"

3) "3"

4) "2"

5) "1"

127.0.0.1:6379> LREM list 1 1

(integer) 1

127.0.0.1:6379> LRANGE list 0 -1

1) "4"

2) "4"

3) "3"

4) "2"

127.0.0.1:6379> LREM list 2 4

(integer) 2

127.0.0.1:6379> LRANGE list 0 -1

1) "3"

2) "2"

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> keys *

(empty array)

127.0.0.1:6379> clear



127.0.0.1:6379> Rpush mylist "hello"

(integer) 1

127.0.0.1:6379> 

127.0.0.1:6379> Rpush mylist "hello1"

(integer) 2

127.0.0.1:6379> Rpush mylist "hello2"

(integer) 3

127.0.0.1:6379> Rpush mylist "hello3"

(integer) 4

127.0.0.1:6379> Rpush mylist "hello4"

(integer) 5

127.0.0.1:6379> Rpush mylist "hello5"

(integer) 6

127.0.0.1:6379> Rpush mylist "hello6"

(integer) 7

127.0.0.1:6379> Rpush mylist "hello7"

(integer) 8

127.0.0.1:6379> ltrim mulist 1 3

OK

127.0.0.1:6379> lrange mylist 0 -1

1) "hello"

2) "hello1"

3) "hello2"

4) "hello3"

5) "hello4"

6) "hello5"

7) "hello6"

8) "hello7"

127.0.0.1:6379> ltrim mylist 1 3

OK

127.0.0.1:6379> lrange mylist 0 -1

1) "hello1"

2) "hello2"

3) "hello3"

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> clear



127.0.0.1:6379> Keys *

(empty array)

127.0.0.1:6379> rpush mylist "hello"

(integer) 1

127.0.0.1:6379> rpush mylist "hello1"

(integer) 2

127.0.0.1:6379> rpush mylist "hello2"

(integer) 3

127.0.0.1:6379> rpush mylist "hello3"

(integer) 4

127.0.0.1:6379> rpush mylist "hello4"

(integer) 5

127.0.0.1:6379> RPOPLPUSH mylist myotherlist

"hello4"

127.0.0.1:6379> RPOPLPUSH mylist myotherlis

"hello3"

127.0.0.1:6379> Exists list

(integer) 0

127.0.0.1:6379> Exists mylist

(integer) 1

127.0.0.1:6379> lpush list value1

(integer) 1

127.0.0.1:6379> lrange list 0 0

1) "value1"

127.0.0.1:6379> lset list 0 ityem

OK

127.0.0.1:6379> lrange list 0 0

1) "ityem"

127.0.0.1:6379> lset list 1 sna

(error) ERR index out of range

127.0.0.1:6379>  
Last login: Wed Oct 14 09:56:34 on ttys000

xingfuhao@xingfuhaodeMacBook-Air-1999 ~ % redis-cli -p 6379

127.0.0.1:6379> ping

PONG

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> ps -ef|grep redis

(error) ERR unknown command `ps`, with args beginning with: `-ef|grep`, `redis`, 

127.0.0.1:6379> keys *

(empty array)

127.0.0.1:6379> set name xing

OK

127.0.0.1:6379> set age 22

OK

127.0.0.1:6379> keys *

1) "age"

2) "name"

127.0.0.1:6379> exists name

(integer) 1

127.0.0.1:6379> exists name1

(integer) 0

127.0.0.1:6379> expire name 5

(integer) 1

127.0.0.1:6379> keys *

1) "age"

127.0.0.1:6379> expire age 15

(integer) 1

127.0.0.1:6379> ttl age

(integer) 10

127.0.0.1:6379> ttl age

(integer) 6

127.0.0.1:6379> set name xfh

OK

127.0.0.1:6379> set age 22

OK

127.0.0.1:6379> keys *

1) "age"

2) "name"

127.0.0.1:6379> type name

string

127.0.0.1:6379> append name hello

(integer) 8

127.0.0.1:6379> keys *

1) "age"

2) "name"

127.0.0.1:6379> get name

"xfhhello"

127.0.0.1:6379> STRLEN name

(integer) 8

127.0.0.1:6379> append name ",hello"

(integer) 14

127.0.0.1:6379> strlen name

(integer) 14

127.0.0.1:6379> get name

"xfhhello,hello"

127.0.0.1:6379> set views 0

OK

127.0.0.1:6379> get views

"0"

127.0.0.1:6379> INCR views

(integer) 1

127.0.0.1:6379> INCR views

(integer) 2

127.0.0.1:6379> get views

"2"

127.0.0.1:6379> INCRBY views 10

(integer) 12

127.0.0.1:6379> DECRBY views 5

(integer) 7

127.0.0.1:6379> get name

"xfhhello,hello"

127.0.0.1:6379> GETRANGE name 0 5 

"xfhhel"

127.0.0.1:6379> setex key3 20 "HELLO"

OK

127.0.0.1:6379> TTL KEY3

(integer) -2

127.0.0.1:6379> ttl key3

(integer) 1

127.0.0.1:6379> setex key3 20 "HELLO"

OK

127.0.0.1:6379> ttl key3

(integer) 16

127.0.0.1:6379> setnx mykey "redis"

(integer) 1

127.0.0.1:6379> keys *

1) "mykey"

2) "views"

3) "age"

4) "name"

127.0.0.1:6379> ttl key3

(integer) -2

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3

OK

127.0.0.1:6379> keys *

1) "mykey"

2) "age"

3) "views"

4) "k3"

5) "k2"

6) "name"

7) "k1"

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> keys *

(empty array)

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3

OK

127.0.0.1:6379> keys *

1) "k3"

2) "k2"

3) "k1"

127.0.0.1:6379> mget 

(error) ERR wrong number of arguments for 'mget' command

127.0.0.1:6379> mget k1 k2 k3

1) "v1"

2) "v2"

3) "v3"

127.0.0.1:6379> msetnx k1 v1 k4 v4

(integer) 0

127.0.0.1:6379> get k4

(nil)

127.0.0.1:6379> mset user:1:name zhangsan user:1:age 22

OK

127.0.0.1:6379> mset user

(error) ERR wrong number of arguments for 'mset' command

127.0.0.1:6379> mset user:1

(error) ERR wrong number of arguments for 'mset' command

127.0.0.1:6379> mset user:1:name user:1:age

OK

127.0.0.1:6379> mget user:1:name user:1:age

1) "user:1:age"

2) "22"

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> mset user:1:name zhangsan user:1:age 22

OK

127.0.0.1:6379> mget user:1:name user:1:age

1) "zhangsan"

2) "22"

127.0.0.1:6379> getset db redis

(nil)

127.0.0.1:6379> get db

"redis"

127.0.0.1:6379> getset db mongodb

"redis"

127.0.0.1:6379> get db

"mongodb"

127.0.0.1:6379> flushall

OK

127.0.0.1:6379> lpush list one

(integer) 1

127.0.0.1:6379> lpush list two

(integer) 2

127.0.0.1:6379> lpush list three

(integer) 3

127.0.0.1:6379> LRANGE 0 -1

(error) ERR wrong number of arguments for 'lrange' command

127.0.0.1:6379> LRANGE list 0 -1

1) "three"

2) "two"

3) "one"

127.0.0.1:6379> lrange list 0 1

1) "three"

2) "two"

127.0.0.1:6379> loop list

(error) ERR unknown command `loop`, with args beginning with: `list`, 

127.0.0.1:6379> Loop list

(error) ERR unknown command `Loop`, with args beginning with: `list`, 

127.0.0.1:6379> lpop list

"three"

127.0.0.1:6379> rpop list

"one"

127.0.0.1:6379> LRANGE list 0 -1

1) "two"

127.0.0.1:6379> lpush list one

(integer) 2

127.0.0.1:6379> LRANGE list 0 -1

1) "one"

2) "two"

127.0.0.1:6379> lindex list 1

"two"

127.0.0.1:6379> lindex list 0

"one"

127.0.0.1:6379> lindex list 2

(nil)

127.0.0.1:6379> LLEN list

(integer) 2

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> lpush list 1

(integer) 1

127.0.0.1:6379> lpush list 2

(integer) 2

127.0.0.1:6379> lpush list 3

(integer) 3

127.0.0.1:6379> lpush list 4

(integer) 4

127.0.0.1:6379> LLEN list

(integer) 4

127.0.0.1:6379> lpush list 4

(integer) 5

127.0.0.1:6379> LRANGE list 0 -1

1) "4"

2) "4"

3) "3"

4) "2"

5) "1"

127.0.0.1:6379> LREM list 1 1

(integer) 1

127.0.0.1:6379> LRANGE list 0 -1

1) "4"

2) "4"

3) "3"

4) "2"

127.0.0.1:6379> LREM list 2 4

(integer) 2

127.0.0.1:6379> LRANGE list 0 -1

1) "3"

2) "2"

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> keys *

(empty array)

127.0.0.1:6379> clear



127.0.0.1:6379> Rpush mylist "hello"

(integer) 1

127.0.0.1:6379> 

127.0.0.1:6379> Rpush mylist "hello1"

(integer) 2

127.0.0.1:6379> Rpush mylist "hello2"

(integer) 3

127.0.0.1:6379> Rpush mylist "hello3"

(integer) 4

127.0.0.1:6379> Rpush mylist "hello4"

(integer) 5

127.0.0.1:6379> Rpush mylist "hello5"

(integer) 6

127.0.0.1:6379> Rpush mylist "hello6"

(integer) 7

127.0.0.1:6379> Rpush mylist "hello7"

(integer) 8

127.0.0.1:6379> ltrim mulist 1 3

OK

127.0.0.1:6379> lrange mylist 0 -1

1) "hello"

2) "hello1"

3) "hello2"

4) "hello3"

5) "hello4"

6) "hello5"

7) "hello6"

8) "hello7"

127.0.0.1:6379> ltrim mylist 1 3

OK

127.0.0.1:6379> lrange mylist 0 -1

1) "hello1"

2) "hello2"

3) "hello3"

127.0.0.1:6379> flushdb

OK

127.0.0.1:6379> clear



127.0.0.1:6379> Keys *

(empty array)

127.0.0.1:6379> rpush mylist "hello"

(integer) 1

127.0.0.1:6379> rpush mylist "hello1"

(integer) 2

127.0.0.1:6379> rpush mylist "hello2"

(integer) 3

127.0.0.1:6379> rpush mylist "hello3"

(integer) 4

127.0.0.1:6379> rpush mylist "hello4"

(integer) 5

127.0.0.1:6379> RPOPLPUSH mylist myotherlist

"hello4"

127.0.0.1:6379> RPOPLPUSH mylist myotherlis

"hello3"

127.0.0.1:6379> Exists list

(integer) 0

127.0.0.1:6379> Exists mylist

(integer) 1

127.0.0.1:6379> lpush list value1

(integer) 1

127.0.0.1:6379> lrange list 0 0

1) "value1"

127.0.0.1:6379> lset list 0 ityem

OK

127.0.0.1:6379> lrange list 0 0

1) "ityem"

127.0.0.1:6379> lset list 1 sna

(error) ERR index out of range

127.0.0.1:6379> clear



127.0.0.1:6379> sadd myset "hello"

(integer) 1

127.0.0.1:6379> sadd myset "kuangshen"

(integer) 1

127.0.0.1:6379> sadd myset "lovekuangshen"

(integer) 1

127.0.0.1:6379> smembers myset

1) "kuangshen"

2) "lovekuangshen"

3) "hello"

127.0.0.1:6379>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值