Redis常用操作

血红的双手。 提交于 2019-11-30 13:17:48
1)查询当前库的所有键:jedis.keys("*")
2)判断某个键是否存在:jedis.exists("001")
3)查看键的类型:jedis.type("002")
4)删除某个键:jedis.del("003")
5)为键设置过期时间,单位秒:jedis.expire("001", 5)
6)查看还有多少秒过期,-1表示永不过期,-2表示已经过期:jedis.ttl("001")
7)查看当前数据库键的数量:jedis.dbSize()
8)清空当前数据库(慎用):jedis.flushDB()
9)删除全部库(慎用):jedis.flushAll()
1,Redis五大数据类型--String
1)根据键查询值:jedis.get("001")
2)添加键值对(覆盖):jedis.set("001","hello")
3)在原值尾部追加值:jedis.append("001", "world")
4)获得值的长度:jedis.strlen("001")
5)只有key不存在时才添加key:jedis.setnx("003", "123")
6)将key中存储的数值增加1,只对数字值操作:jedis.incr("003")
7)将key中存储的数值减1,只对数字值操作:jedis.decr("003")
8)Key中存储数值增加,自定义步长:jedis.incrBy("003", 5)
9)Key中存储数值减少,自定义步长:jedis.decrBy("003", 2)
10)同时设置一个或多个键值对:jedis.mset("004","111","005","222","006","333")
11)同时获取一个或多个键的值:jedis.mget("002","005","006")
12)获取值的范围:jedis.getrange("001", 2, 5)
13)从起始位置覆盖:jedis.setrange("002", 1, "不是我")
14)设置键值的同时,设置过期时间,单位秒:jedis.setex("006", 10, "10秒过期")
15)设置新值的同时返回旧值:jedis.getSet("001", "HelloWorld")
2,Redis五大数据类型--List(按照插入顺序排序,元素可重复)
1)向列表中从左到右插入值:
    jedis.lpush("lists", "333");
    jedis.lpush("lists", "444");
    打印:[555, 444, 333, 222, 111]
2)向列表中从右到左插入值:
    jedis.rpush("lists", "666");
    jedis.rpush("lists", "777");
    打印:[555, 444, 333, 222, 111, 666, 777, 888]
3)向列表中从左边取出一个值:jedis.lpop("lists")
4)向列表中从右边取出一个值:jedis.rpop("lists")
5)按照索引,从左到右获取值:jedis.lrange("lists", 0, -1)
6)根据下标获取值:jedis.lindex("lists", 3)
7)获得列表长度:jedis.llen("lists")
8)从左到右删除重复的值:jedis.lrem("lists", 2, "444")
9)删除区间以外的值:jedis.ltrim("lists", 2, 4)
10)修改指定下标的值:jedis.lset("lists", 1, "haha")
3,Redis五大数据类型--Set(无序,不可重复)
1)添加一个或多个值:jedis.sadd("sets", "111","222","333","444","555")
2)取出集合所有元素:jedis.smembers("sets")
3)判断集合是否包含该值:jedis.sismember("sets", "333")
4)返回该集合的元素个数:jedis.scard("sets")
5)删除集合中指定元素:jedis.srem("sets","111")
6)随机从集合中取一个值:jedis.spop("sets")
7)随机取出n个值,不从集合中删除:jedis.srandmember("sets")
8)把元素从一个集合移到另一个集合:jedis.smove("sets", "sets1", "111")
9)差集,返回在第一个集合里,而不在后面集合的元素:jedis.sdiff("sets","sets1")
10)交集,返回两个集合都有的元素:jedis.sinter("sets","sets1")
11)并集,两个集合合并后的元素:jedis.sunion("sets","sets1")
4,Redis五大数据类型--Hash(是一个String类型的field和value的映射表,特别适合用于存储对象,类似Map,将对象存入hash会占用更少内存)
1)给集合中的键赋值:jedis.hset("user", "name", "lisi")
2)从集合中取值:jedis.hget("user", "name")
3)批量设置hash的值
    Map<String,String> map = new HashMap();
    map.put("name", "zhangsan");
    map.put("age", "20");
    map.put("sex", "男");
    jedis.hmset("user", map);
4)一次获取多个field的value:jedis.hmget("user", "name","age","sex")
5)查看hash集合的所有field:jedis.hkeys("user")
6)查看Key中,给定域field是否存在:jedis.hexists("user", "age")
7)查看hash集合所有的value:jedis.hvals("user")
8)给指定field增加给定值:jedis.hincrBy("user", "age", 5)
9)获取hash表中全部的field以及对应的value:jedis.hgetAll("user")
10)删除指定hash的field:jedis.hdel("user", "sex")
11)返回指定hash的field数量:jedis.hlen("user")
5,Redis五大数据类型--ZSet(sorted set)
1)添加元素:jedis.zadd("zset", 0.1, "z0") 或:
    Map<String,Double> map = new HashMap();
    map.put("z1", 1.0);
    map.put("z2", 10.0);
    map.put("z3", 100.0);
    Long zadd = jedis.zadd("zsets", map);
2)获取索引区间内的元素:
    返回元素:jedis.zrange("zsets", 0, -1)
    返回元素和对应的值:jedis.zrangeWithScores("zsets", 0, -1)
3)获取分数区间内的元素:jedis.zrangeByScore("zsets", 5, 20)
4)删除元素:jedis.zrem("zsets", "z1","z2")
5)给指定分数增加值:jedis.zincrby("zsets", 5, "z1")
6)统计指定分数区间元素的个数:jedis.zcount("zsets", 50, 100)
7)获区获取集合中元素个数:jedis.zcard("zsets")
8)获取元素在集合中的索引:jedis.zrank("zsets", "z2")
9)获取指定元素的分数:jedis.zscore("zsets", "z2")
10)获取元素在集合中倒序的索引:jedis.zrevrank("zsets", "z3")
11)获取集合中的元素倒序:jedis.zrevrange("zsets", 0, -1)
12)删除索引区间内的元素:jedis.zremrangeByRank("zsets", 1, 2)
13)删除分数区间内的元素:jedis.zremrangeByScore("zsets", 50, 100)

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!