ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis相关操作

2022-04-19 17:01:21  阅读:174  来源: 互联网

标签:integer Redis 192.168 1.103 6379 jedis 相关 操作 Aang


String数据类型

命令行

  • 创建获取增减

192.168.1.103:6379> set online-users 50
OK
192.168.1.103:6379> set online-users 100
OK

192.168.1.103:6379> keys *

  1. "online-users"

192.168.1.103:6379> get online-users
"100"

192.168.1.103:6379> incr online-users
(integer) 101
192.168.1.103:6379> decr online-users
(integer) 100

192.168.1.103:6379> incrby online-users 50
(integer) 150
192.168.1.103:6379> incrby online-users -30
(integer) 120
192.168.1.103:6379> decrby online-users -30
(integer) 150

  • 获取value长度

192.168.1.103:6379> strlen online-users
(integer) 3

  • 设置超时时间

192.168.1.103:6379> set 18301581288 3545 ex 300
OK

  • 创建获取删除多个kv

192.168.1.103:6379> mset k1 v1 k2 v2
OK

192.168.1.103:6379> mget k1 k2

  1. "v1"
  2. "v2"

192.168.1.103:6379> del k1 k2
(integer) 2

API

import redis.clients.jedis.Jedis

object StringValue {
  def main(args: Array[String]): Unit = {

    val jedis: Jedis = new Jedis("192.168.1.103", 6379)
    jedis.auth("root")
    // 选择使用的database, 公有16个, 默认使用0号database
//    jedis.select(0)

    jedis.set("online-users", "100")
    val r1 = jedis.get("online-users")
    println(r1)

    jedis.incrBy("online-users", 50)
    val r2 = jedis.get("online-users")
    println(r2)
      
    jedis.del("online-users")
  }
}

Hash数据类型

命令行

  • 创建获取

192.168.1.103:6379> hset Aang age 12
(integer) 1
192.168.1.103:6379> hget Aang age
"12"

  • 增减

192.168.1.103:6379> hincrby Aang age 3
(integer) 15

  • 删除value中的key

192.168.1.103:6379> hdel Aang age
(integer) 1

  • 删除key

192.168.1.103:6379> del Aang
(integer) 0

  • 创建获取多个

192.168.1.103:6379> hmset Aang name Aang age 12 gender male
OK
192.168.1.103:6379> hmget Aang name age gender

  1. "Aang"
  2. "12"
  3. "male"
    192.168.1.103:6379> hgetall Aang
  4. "name"
  5. "Aang"
  6. "age"
  7. "12"
  8. "gender"
  9. "male"
  • 判断字段是否存在

192.168.1.103:6379> hexists Aang name
(integer) 1
192.168.1.103:6379> hexists Aang grade
(integer) 0

  • 只获取keys或values

192.168.1.103:6379> hkeys Aang

  1. "name"
  2. "age"
  3. "gender"
    192.168.1.103:6379> hvals Aang
  4. "Aang"
  5. "12"
  6. "male"
  • 获取长度

192.168.1.103:6379> hlen Aang
(integer) 3

API

import java.util

import redis.clients.jedis.Jedis

object HashValue {
  def main(args: Array[String]): Unit = {

    val jedis: Jedis = new Jedis("192.168.1.103", 6379)
    jedis.auth("root")

    jedis.hset("sichuan", "chengdu", "1000")
    jedis.hset("sichuan", "yaan", "1000")

    jedis.hincrByFloat("sichuan", "yaan", 500.5)

    val str: String = jedis.hget("sichuan", "yaan")
    println(str)

    val all: util.Map[String, String] = jedis.hgetAll("sichuan")

    // jeids由java编写, 取出的是java集合
    import scala.collection.JavaConversions._
    for(t <- all){
      println(s"key: ${t._1} -> value: ${t._2}")
    }

    jedis.hdel("sichuan", "yaan")
      
    jedis.del("sichuan")
  }
}

List数据类型

命令行

  • 插入数据

192.168.1.103:6379> lpush lst1 1 2 3
(integer) 3
192.168.1.103:6379> rpush lst1 a b c
(integer) 6

  • 获取数据

192.168.1.103:6379> lrange lst1 0 -1

  1. "3"
  2. "2"
  3. "1"
  4. "a"
  5. "b"
  6. "c"
    192.168.1.103:6379> lrange lst1 1 3
  7. "2"
  8. "1"
  9. "a"
  • 弹出 (删除) 数据

192.168.1.103:6379> lpop lst1
"3"
192.168.1.103:6379> rpop lst1
"c"
192.168.1.103:6379> lrange lst1 0 -1

  1. "2"
  2. "1"
  3. "a"
  4. "b"
  • 获取长度

192.168.1.103:6379> llen lst1
(integer) 4

API

import java.util

import redis.clients.jedis.Jedis

object ListValue {
  def main(args: Array[String]): Unit = {

    val jedis: Jedis = new Jedis("192.168.1.103", 6379)
    jedis.auth("root")

    jedis.lpush("lst1", "1", "2", "3")
    jedis.rpush("lst1", "a", "b", "c")

    jedis.lpop("lst1")
    jedis.rpop("lst1")

    val strings: util.List[String] = jedis.lrange("lst1", 0, -1)

    import scala.collection.JavaConversions._
    for(s <- strings){
      println(s)
    }
  }
}

Set数据类型

命令行

  • 创建

192.168.1.103:6379> sadd s1 1 3 3 5 a b c
(integer) 6

  • 获取

192.168.1.103:6379> smembers s1

  1. "a"
  2. "5"
  3. "3"
  4. "1"
  5. "c"
  6. "b"
  • 删除

192.168.1.103:6379> srem s1 3
(integer) 1

  • 判断是否存在

192.168.1.103:6379> sismember s1 3
(integer) 0
192.168.1.103:6379> sismember s1 5
(integer) 1

  • 差集, 交集, 并集

192.168.1.103:6379> sadd s1 1 2 3
(integer) 3
192.168.1.103:6379> sadd s2 2 3 4
(integer) 3
192.168.1.103:6379> sdiff s1 s2

  1. "1"
    192.168.1.103:6379> sinter s1 s2
  2. "2"
  3. "3"
    192.168.1.103:6379> sunion s1 s2
  4. "1"
  5. "2"
  6. "3"
  7. "4"

API

import java.util

import redis.clients.jedis.Jedis

object SetValue {
  def main(args: Array[String]): Unit = {

    val jedis: Jedis = new Jedis("192.168.1.103", 6379)
    jedis.auth("root")

    jedis.sadd("s1", "1", "2", "3", "3", "5")


    jedis.srem("s1", "2")

    val boolean = jedis.sismember("s1", "2")
    println(boolean)

    val strings: util.Set[String] = jedis.smembers("s1")

    import scala.collection.JavaConversions._
    for(s <- strings){
      println(s)
    }
  }
}

ZSet数据类型

命令行

  • 创建获取

192.168.1.103:6379> zadd z1 90 Aang 85 Katara 75 Sokka
(integer) 3
192.168.1.103:6379> zrange z1 0 -1

  1. "Sokka"
  2. "Katara"
  3. "Aang"
    192.168.1.103:6379> zrange z1 0 -1 withscores
  4. "Sokka"
  5. "75"
  6. "Katara"
  7. "85"
  8. "Aang"
  9. "90"
    192.168.1.103:6379> zrevrange z1 0 -1
  10. "Aang"
  11. "Katara"
  12. "Sokka"
  • 增减score

192.168.1.103:6379> zincrby z1 10 Katara
"95"
192.168.1.103:6379> zrange z1 0 -1 withscores

  1. "Sokka"
  2. "75"
  3. "Aang"
  4. "90"
  5. "Katara"
  6. "95"
  • 获取元素排名

192.168.1.103:6379> zrank z1 Katara
(integer) 2

192.168.1.103:6379> zrevrank z1 Katara
(integer) 0

API

import java.{lang, util}

import redis.clients.jedis.{Jedis, Tuple}

object ZSetValue {
  def main(args: Array[String]): Unit = {

    val jedis: Jedis = new Jedis("192.168.1.103", 6379)
    jedis.auth("root")

    jedis.zadd("z1", 90, "Aang")
    jedis.zadd("z1", 85, "Katara")
    jedis.zadd("z1", 75, "Sokka")

    jedis.zincrby("z1", 10, "Katara")


    val tuples: util.Set[Tuple] = jedis.zrangeWithScores("z1", 0, -1)

    import scala.collection.JavaConversions._
    for(t <- tuples){
      println(t)
    }

    val long: lang.Long = jedis.zrank("z1", "Katara")
    println(long)
  }
}

标签:integer,Redis,192.168,1.103,6379,jedis,相关,操作,Aang
来源: https://www.cnblogs.com/lijiong/p/16166117.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有