zoukankan      html  css  js  c++  java
  • 3.Redis客户端

    java客户端 jedis

    • 获取
      • Maven依赖
    • 基本使用
      • Jedis jedis = new Jedis("127.0.0.1",6379)
      • string
        • jedis.set("helo","world")
        • jedis.get("hello")
        • jedis.incr("counter")
      • hash
        • jedis.hset("myhash","f1","v1");
        • jedis.hset("myhash","f2","v2");
        • jedis.hgetAll("myhash");
      • list
        • jedis.rpush("mylist","1")
        • jedis.rpush("mylist","2")
        • jedis.rpush("mylist","3")
        • jedis.lrange("mylist",0,-1)
      • set
        • jedis.sadd("myset","a")
        • jedis.sadd("myset","b")
        • jedis.sadd("myset","a")
        • jedis.smember("myset") ===> [b,a]
      • zset
        • jedis.zadd("myzset",99,"tom")
        • jedis.zadd("myzset",66,"peter")
        • jedis.zadd("myzset",33,"james")
        • jedis.zrangeWithScore("myzset")
    • 连接池使用
      • Jedis 直连
        • 每次连接都要新建一个连接对象 tcp三次握手
        • 结束操作后关闭连接
      • Jedis 连接池
        • 每次连接从连接池获取一个闲置的连接对象 直接使用
        • 返回执行结果后 将jedis对象归还给连接池
    • 方案对比

       优点缺点
      直连 简单
      适用于少量长期连接场景
      存在每次新建、关闭TCP开销
      资源无法控制,存在连接泄露的可能
      jedis连接线程不安全
      连接池 jedis预先生成,降低开销使用
      连接池的形式保护和控制资源使用
      相对直连,使用相对麻烦,尤其在资源的管理上
      需要很多参数保证,一旦规划以合理会出现问题
    • JedisPool使用

      • 初始化jedis连接池,通常来讲JedisPool是单例的。
      • poolConfig = new GemericObjectPoolConfig();
      • JedisPool jedisPool = new jedisPool(poolConfig,"127.0.0.1",6379)
      • try cach finally printStackTrace()

    python客户单 redis-py

    • 获取
      • pip install/easy_install redis 源码安装
    • 基本使用
      • clinet = redis.StrictRedis(host="127.0.0.1",6379)
      • string True
        • clinet.set("hello","python-redis")
        • client.get("hello")
        • client.incr("counter")
      • hash
        • client.hset("myhash","f1","v1");
        • client.hset("myhash","f2","v2");
        • client.hgetAll("myhash");
      • list
        • client.rpush("mylist","1")
        • client.rpush("mylist","2")
        • client.rpush("mylist","3")
        • client.lrange("mylist",0,-1)
      • set
        • client.sadd("myset","a")
        • client.sadd("myset","b")
        • client.sadd("myset","a")
        • client.smember("myset") ===> [b,a]
      • zset
        • client.zadd("myzset",99,"tom")
        • client.zadd("myzset",66,"peter")
        • client.zadd("myzset",33,"james")
        • client.zrange("myzset",0,-1,withscores=True)

    Go客户端 redigo

    • 选择客户端
      • Radix
      • Redgo
    • 基本使用
      • c, err := redis.Dial("tcp","127.0.0.1:6379")
      • if err != nil { fmt.Println(err) return }
      • defer c.Close()
    • 简单使用-命令
      • c.DO("SET","hello","world")
      • c.DO("GET","hello")
  • 相关阅读:
    AUSU 安装Win10注意事项
    华硕笔记本无法设置U盘启动,快捷启动不能识别
    postgres 得到所有表空间 和 表空间的位置
    python 远程链接、搜索与下载
    python 读取 postgreSQL 数据保存CSV文件
    weka 初练之 文本分类
    基于springMVC+mybatis的实践记录
    简单的springMVC + mybatis 编写程序流程
    sql查询 生成列号
    通过资源文件 验证拦截机制
  • 原文地址:https://www.cnblogs.com/richiewlq/p/12182543.html
Copyright © 2011-2022 走看看