redis常见数据类型操作命令,Java中使用Jedis操作Redis

redis常见数据类型操作命令

可参考地址:Http://redisdoc.com/

Java中使用Jedis操作Redis

https://www.cnblogs.com/liuling/p/2014-4-19-04.html

  • redis键(key)

  1. keys * 查看当前库的key的名字
  2. exists key的名字 :判断某个key是否存在,返回1表示这个key存在,0表示不存在
  3. move key的名字 db(指定的库): ---->>把当前库中的剪切到其他的库
    例如: move k1 2
  4. expire key的名字 时间(以秒为单位): 为给定的key设置过期时间
  5. pexpire key的名字 时间(以毫秒为单位):跟expire的作用一样
  6. ttl key的名字:查看还有多少秒过期,-1表示永不过期,-2表示已经过期
  7. type key的名字:查看你的key是什么类型

  • redis字符串(String)

  1. set key名字 value值:给key赋值

  2. get key名字:从key中取值

  3. append key value:在原有的value后面追加
    append k1 12345

  4. strlen key:查看当前value的长度
    strlen k1

  5. incr key:递增 每次+1

  6. decr key:递减 每次-1

  7. incrby key 步长:每次递增步长的长度

  8. decrby key 步长:每次递减步长的长度
    注意:关于递增,递减的操作只针对整数数字有效。5、6、7、8是一组。

  9. getrange key: 开始下标 结束下标:获取指定区间范围的值,类似between…and,结束下标为-1表示全部。
    getrange k1 0 -1
    getrange k1 0 3

  10. setrange key: 开始下标 替换的内容:设置指定区间范围的值
    setrange k1 1 xxx:针对k1从第二位开始替换三个xxx

  11. setnx key value:先判断当前key是否存在,存在则报错,不存在才会进行创建。相当于–>exists+set


  • redis列表(List)

  1. lpush 集合的key名 value1 value2 value3… :给一个列表赋值,当取值的时候从后往前取
  2. rpush 集合的key名 value1 value2 value3… :给一个列表赋值,当取值的时候从前往后取
  3. lrange 集合的key名 开始下标 结束下标:从一个列表中取值,结束下标为-1表示全部
  4. lpop 集合的key名: 用于移除并返回列表的第一个元素
  5. rpop 集合的key名: 用于移除并返回列表的最后一个元素
  6. lindex key 索引:按照索引下标获得元素(从上到下)
    例如:lindex list1 2
  7. lrem key 删除个数 删除的value:在指定的列表中删除指定个数的value
    lrem list1 2 3:表示我要从list1中删除2个value是3的对象。
  8. ltrim key 开始下标 结束下标:截取指定范围的值后再赋给当前key
    ltrim list1 0 3:从list1中从0开始截取 ,截取3位再赋给list1
  9. lset key 下标 value:给指定的下标赋值
    lest list1 1 x:表示在list1中下标为1的位置赋值为x
  10. linsert key before/after 即将在哪添加的value 插入的value2:在指定的位置插入数据
    例如:linsert list1 before x java:在list1中x的前面插入java

  • redis集合(Set)

  1. sadd key value1 value2…:添加set集合
  2. smembers key:返回集合中的所有成员
  3. sismember key value:判断成员元素是否是集合的成员
  4. scard key:获取集合里面的元素个数
  5. srem key value:删除集合中的元素
  6. srandmember key 某个整数:随机出几个数
  7. spop key:随机出栈(出一个)
  8. smove key1 key2 在key1中的某个值:作用是将key1里的某个值赋给key2
  9. 数学集合类:
    1. sdiff 差集:sdiff key1 key2 :在第一个set里面而不再后面任何一个set里面的项
    2. sinter 交集:sinter key1 key2 : 两个set都有的值
    3. sunion 并集:sunion key1 key2:两者合并去重

  • redis哈希(Hash)

  1. redis哈希(Hash):key-value的模式不变,但V是一个键值对

  2. hset:设置hash集合中的数据 :格式:hset user id 11 (只能设置一个属性)

  3. hget:获取hash集合中的数据 :格式:hget user id

  4. hmset:设置hash集合中的多个数据:格式:hmset user id 11 name lisi age 15

  5. hmget:获取多个数据:格式:hmget user id name age

  6. hgetall:以key-value的方式获取hash集合中的数据:格式:hgetall user

  7. hdel:删除hash集合中的一组键值对:格式:hdel user name

  8. hlen:获取当前hash集合的长度:格式:hlen user

  9. hexists key 属性名 :在key里面是否有某个值的key:格式:hexists user id

  10. hkeys:获取hash中的所有key:格式:hkeys user

  11. hvals:获取hash中的所有value:格式:hvals user

  12. hincrby:对hash中的某个key的value 进行递增(注意只能是数字, 增量也可以为负数,相当于对指定字段进行减法操作。): 格式: hincrby user age 2

  13. hincrbyfloat:对hash中的某个key的value 进行递增(注意只能是浮点型):格式:hincrbyfloat user score 0.5

  • redis有序集合Zset(sorted set)

  1. redis有序集合Zset(sorted set):在set基础上,加一个score值,
    之前set是 k1 v1 v2 v3,现在是k1 score1 v1 score2 v2
  2. zadd:添加一个zset集合
    格式:zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5
  3. zrange:获取一个zset集合的元素
    格式:zrange zset01 0 -1
    输出结果:v1 v2 v3 v4 v5
    这个时候只显示了值,没有显示分数,如果需要都显示需要在方法的后面加上 withscores
    格式:zrange zset01 0 -1 withscores
    输出结果:v1 60 v2 70 v3 80 v4 90 v5 100
  4. zrangbyscore:在zset集合中截取元素
    格式:zrangebyscore key 开始score 结束score ((不包含,limit ? ?返回限制)
    zrangebyscore zset01 60 90 limit 2 2
    1
  5. zrem :删除元素
    格式:zrem zset01 v5
  6. zcard:统计zset的个数
    格式:zcard zset01
  7. zcount:统计score区间的个数
    格式:zcount zset01 60 80
  8. zrank:获取下标值
    格式:zrank zset01 v4
  9. zscore:获取key对应的数值
    格式:zscore zset01 v4

猜你喜欢

转载自blog.csdn.net/qq_43154385/article/details/83538875
今日推荐