Redis开发运维实践开发者设计规范之客户端推荐

4.7 客户端推荐

4.7.1 Redis-Python驱动的安装和使用

unzip redis-py-master.zip
cd redis-py-master/
sudo python setup.py install

完成后import redis即可。

4.7.2 Redis-Java客户端推荐

  1. Jedis :https://github.com/xetorthio/jedis 重点推荐
  2. Spring Data redis :https://github.com/spring-projects/spring-data-redis 使用Spring框架时推荐
  3. Redisson :https://github.com/mrniko/redisson 分布式锁、阻塞队列的时重点推荐

4.7.3 Redis-C客户端推荐

Hiredis是redis数据库一个官方推荐的C语言redis client库。


Redis开发运维实践指南

本文为《Redis开发运维实践指南》内容,该书作者为黄鹏程,已授权转载。

时间: 2024-09-20 12:01:30

Redis开发运维实践开发者设计规范之客户端推荐的相关文章

Redis开发运维实践开发者设计规范之典型使用场景参考

4.6 典型使用场景参考 下面是Redis适用的一些场景: 1. 取最新 N 个数据的操作 比如典型的取你网站的最新文章,通过下面方式,我们可以将最新的 5000条评论的ID放在Redis的List集合中,并将超出集合部分从数据库获取. 使用LPUSH latest.comments命令,向 list集合中插入数据 插入完成后再用 LTRIM latest.comments 0 5000 命令使其永远只保存最近5000个 ID 然后我们在客户端获取某一页评论时可以用下面的逻辑 FUNCTION

Redis开发运维实践开发者设计规范之延迟考虑

4.5 延迟考虑 1. 尽可能使用批量操作: mget.hmget而不是get和hget,对于set也是如此. lpush向一个list一次性导入多个元素,而不用lset一个个添加 LRANGE 一次取出一个范围的元素,也不用LINDEX一个个取出 2. 尽可能的把redis和APP SERVER部署在一个网段甚至一台机器. 3. 对于数据量较大的集合,不要轻易进行删除操作,这样会阻塞服务器,一般采用重命名+批量删除的策略: 排序集合: # Rename the key newkey = "gc

Redis开发运维实践开发设计规范之key设计

4.1 Key设计 key的一个格式约定:object-type:id:field.用":"分隔域,用"."作为单词间的连接,如"comment:12345:reply.to".不推荐含义不清的key和特别长的key. 一般的设计方法如下: 1: 把表名转换为key前缀 如, tag: 2: 第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid 3: 第3段放置主键值,如2,3,4...., a , b ,c 4: 第

Redis开发运维实践开发设计规范之数据异常处理

4.3 数据异常处理 程序应该处理如果redis数据丢失时的清理redis内存和重新加载的过程. Redis开发运维实践指南

Redis开发运维实践开发设计规范之内存考虑

4.4 内存考虑 只要有可能的话,就尽量使用散列键而不是字符串键来储存键值对数据,因为散列键管理方便.能够避免键名冲突.并且还能够节约内存. 具体实例: 节约内存:Instagram的Redis实践 blog.nosqlfan.com/html/3379.html 如果将redis作为cache进行频繁读写和超时删除等,此时应该避免设置较大的k-v,因为这样会导致redis的 内存碎片增加,导致rss占用较大,最后被操作系统OOM killer干掉.一个很具体的issue例子请见:https:/

Redis开发运维实践开发设计规范之超时设置

4.2 超时设置 从业务需求逻辑和内存的角度,尽可能的设置key存活时间. Redis开发运维实践指南

Redis开发运维实践数据操作之集合操作

2.4.1 添加元素 sadd key member 成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误 2.4.2 移除元素 srem key member 成功返回1,如果member在集合中不存在或者key不存在返回0,如果key对应的不是set类型的值返回错误 2.4.3 删除并返回元素 spop key 如果set是空或者key不存在返回nil 2.4.4 随机返回一个元素 srandmember key 同spop,随机取set中的一个元素,但是不删除元素 2.

Redis开发运维实践上线部署规划之内存规划

5.1 内存.CPU规划 一定要设置最大内存maxmemory参数,否则物理内存用爆了就会大量使用Swap,写RDB文件时的速度很慢.注意这个参数指的是info中的used_memory,在一些不利于jmalloc的时候,内存碎片会很大. 多留55%内存是最安全的.重写AOF文件和RDB文件的进程(即使不做持久化,复制到Slave的时候也要写RDB)会fork出一条新进程来,采用了操作系统的Copy-On-Write策略(子进程与父进程共享Page.如果父进程的Page-每页4K有修改,父进程自

Redis开发运维实践数据操作之列表操作

2.3.1 添加元素 lpush key string 在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型.注意:江湖规矩一般从左端Push,右端Pop,即LPush/RPop. lpushx 也是将一个或者多个value插入到key列表的表头,但是如果key不存在,那么就什么都不在,返回一个false[rpushx也是同样] rpush key string 同上,在尾部添加 linsert 在key对应list的特定位置之前或之后添加字符串元素 ,