Jedis基本操作Demo

来源:互联网 发布:淘宝rol是指什么 编辑:程序博客网 时间:2024/06/05 05:00

Jedis 主要是string list Hash set zset 五种数据结构的操作,废话不多说上代码

首先是一个基类 方便测试 输出和获取连接 (没有用到单元测试和JedisPool)

还是说一点 连接池把 基本操作很简单 主要就是高并发 情况下 会抛异常  记得用线程控制一下


文章对于所有操作均已输出展示 因为Jedis的操作的返回值会带回一些信息 具体自己百度


import redis.clients.jedis.Jedis;/** *  * @description 纯属无聊 自己写着玩  * @author yz * @data 2017年12月6日 */public class BaseTest {protected static void outPut(Object str){System.out.println(str);}protected static Jedis getConn() {return new Jedis("localhost");}}

Jedis操作String

import redis.clients.jedis.Jedis;/** *  * @description Jedis string 类型测试类 * @author yz * @data 2017年12月6日 */public class TestString extends BaseTest{public static void main(String[] args) {// TODO Auto-generated method stubJedis conn = getConn();outPut(conn.ping());//如果成功返回pangoutPut(conn.set("str", "yz"));conn.append("str", "654");//追加 yz654conn.mset(new String[]{"hxx","hxx1","xzg","xzg1"});//批量outPut(conn.mget(new String[]{"hxx","xzg"}));//批量outPut(conn.strlen("str"));outPut(conn.exists("str"));//是否存在outPut(conn.getrange("str", 0, 3));// 0 -1 表示所有conn.rename("str", "str456");outPut(conn.exists("str"));conn.set("num","1");outPut(conn.incr("num"));outPut(conn.incrBy("num", 5));outPut(conn.incrByFloat("num", 1.6));conn.set("num2", "6");outPut(conn.decr("num2"));outPut(conn.decrBy("num2",3));conn.del("num2");outPut(conn.exists("num2"));outPut(conn.setnx("exists","1"));//如果field不存在setoutPut(conn.get("exists"));outPut(conn.setnx("exists", "2"));outPut(conn.get("exists"));outPut(conn.psetex("mltime", 50, "lalala"));//同下面 单位毫秒outPut(conn.setex("time",5, "cs"));//设置key过期时间outPut(conn.get("time"));try {Thread.sleep(6000);} catch (InterruptedException e) {e.printStackTrace();}outPut(conn.get("time"));outPut(conn.get("mltime"));outPut(conn.type("str"));//返回key类型}}
Jedis 操作Hash 多用于操作对象

import java.io.ObjectOutputStream.PutField;import java.util.HashMap;import java.util.Map;import redis.clients.jedis.Jedis;/** *  * @description 测试Hash * @author yz * @data 2017年12月6日 */public class TestHash extends BaseTest{public static void main(String[] args) {Jedis conn = getConn();outPut(conn.ping());outPut(conn.hset("book", "auto", "yz"));outPut(conn.hget("book", "auto"));outPut(conn.hget("book", "auto11"));//如果field 不存在 拿到的是nullMap<String,String> book = new HashMap<String,String>();book.put("name", "redisPractis");book.put("price", "49.6");book.put("count", "100");outPut(conn.hmset("book", book));outPut(conn.hmget("book", "name","price"));//传入可变参数outPut(conn.hgetAll("book"));//获取所有outPut(conn.hlen("book"));outPut(conn.hexists("book", "auto11"));outPut(conn.hincrBy("book", "count", 2));outPut(conn.hincrByFloat("book", "price", 1.1));outPut(conn.hdel("book", "price11"));outPut(conn.hsetnx("book", "name", "213"));//当name 不存在的时候 setoutPut(conn.hget("book", "name"));outPut(conn.hkeys("book"));//获取所有的keyoutPut(conn.hvals("book"));//获取所有的valoutPut(conn.type("book"));outPut(conn.randomKey());//随机返回一个key}}

Jedis操作List 左侧为头 右侧为尾

import redis.clients.jedis.BinaryClient.LIST_POSITION;import redis.clients.jedis.Jedis;public class TestList extends BaseTest{public static void main(String[] args) {Jedis conn = getConn();outPut(conn.ping());conn.select(2);//使用2号数据库outPut(conn.lpush("list", "yz","zwl","xzg","hxx","wc","pc"));outPut(conn.type("list"));outPut(conn.lset("list", 1, "zwl2"));//左侧插入outPut(conn.lindex("list",2));outPut(conn.lrem("list", 2, "hxx"));//0 所有 正数 从左到右 负数....outPut(conn.linsert("list", LIST_POSITION.BEFORE, "yz", "111"));//只添加一次outPut(conn.llen("list"));outPut(conn.lpop("list"));outPut(conn.rpop("list"));outPut(conn.lpushx("123", "123"));//如果field存在 rpushxoutPut(conn.lrange("123", 0, -1));outPut(conn.rpoplpush("list", "123"));//尾部弹出 插入123集合 头部outPut(conn.lrange("123", 0, -1));outPut(conn.ltrim("list", 0, 5));//截取index为0 5 的部分outPut(conn.lrange("list", 0, -1));outPut(conn.expire("list", 3));outPut(conn.persist("list"));try {Thread.sleep(4000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}outPut(conn.exists("list"));}}

Jedis操作Set

import redis.clients.jedis.Jedis;public class TestSet extends BaseTest{public static void main(String[] args) {Jedis conn = getConn();outPut(conn.ping());outPut(conn.del("set"));outPut(conn.sadd("set", "yz","zwl","pc","wc","zty","hxx"));outPut(conn.srem("set", "yz"));outPut(conn.sismember("set", "yz"));outPut(conn.spop("set", 1));outPut(conn.srandmember("set"));outPut(conn.scard("set"));//成员个数outPut(conn.smove("set", "set1", "yz"));outPut(conn.sinterstore("set2", "set1","set"));outPut(conn.sunionstore("set3", "set","set1"));//交集outPut(conn.sdiffstore("set4", "set","set1"));//差集outPut(conn.smembers("set"));outPut(conn.smembers("set2"));outPut(conn.smembers("set1"));outPut(conn.smembers("set3"));outPut(conn.smembers("set4"));outPut(conn.ttl("set"));//time to live(pttl 毫秒)outPut(conn.type("set"));}}


Jedis操作zset

import java.util.HashMap;import java.util.Map;import java.util.Set;import redis.clients.jedis.Jedis;import redis.clients.jedis.Tuple;public class TestZset extends BaseTest{public static void main(String[] args) {Jedis conn = getConn();outPut(conn.ping());Map<String,Double> scoreMembers = new HashMap<String,Double>();scoreMembers.put("yz", 10.0);scoreMembers.put("zwl", 130.0);scoreMembers.put("hxx", 19.3);scoreMembers.put("wc", 24.0);scoreMembers.put("pc", 120.0);scoreMembers.put("zty", 125.1);outPut(conn.zadd("zset", scoreMembers));outPut(conn.zrange("zset", 0, -1));outPut(conn.zrevrange("zset", 0, -1));//根据字典倒序展示outPut(conn.zrangeByScore("zset", 0, 100));outPut(conn.zrevrangeByScore("zset", 0, 100));//根据分数范围展示outPut(conn.zrangeByLex("zset", "[a", "[gg"));outPut(conn.zrevrangeByLex("zset", "[a", "[gg"));outPut(conn.zcount("zset", 0, 10));outPut(conn.zlexcount("zset", "[a", "[gg"));//获取字典范围个数outPut(conn.zscore("zset", "yz"));outPut(conn.zrank("zset", "yz"));outPut(conn.zrem("zset", "zty"));outPut(conn.zincrby("zset", 12, "yz"));outPut(conn.zadd("zset1", 12,"zwl"));outPut(conn.zinterstore("zset3", "zset","zset1"));outPut(conn.zscore("zset3", "zwl"));outPut(conn.zunionstore("zset2", "zset","zset1"));//并集存入集合zset2outPut(conn.zrange("zset2", 0, -1));outPut(conn.zcard("zset2"));//长度outPut(conn.type("zset2"));Set<Tuple> set = conn.zrangeWithScores("zset", 0, -1);outPut(set);}}

文章为手打 难免有误