java客户端 jedis
- 获取
- 基本使用
- 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
-
选择客户端
-
基本使用
- 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")
Redis客户端
原文:https://www.cnblogs.com/richiewlq/p/12182543.html