redis
文章平均质量分 74
loophome
这个作者很懒,什么都没留下…
展开
-
Redis删除大集合操作(Lists,Sets)
Redis删除大集合操作(Lists,Sets),如果使用del命令,可能会导致redis卡死。毕竟redis是单线程执行的,遇到删除大数据命令,这个命令就会卡住,无法处理其他命令。方案一:先rename,再用脚本逐批删除...原创 2020-03-30 17:41:44 · 1850 阅读 · 0 评论 -
分表时如何获取用户的唯一ID
分表时如何获取用户的唯一ID一般地,用户数据量大的时候,我们会使用分表存储。比如一个平台有1亿用户,将这一亿个用户同时保存在一个表中,是不合适的。采用按帐号分表的方案,有一个问题,就是如何计算用户的唯一ID,如何按帐号来分表,可以参考(基于帐号的CRC32分表方案)。方法一:利用一个数据库表的自增主键来获取用户的唯一UID,这种方法比较简单,而且比较保险。唯一担心的是并发量大会导致锁表原创 2015-03-11 20:38:48 · 2378 阅读 · 0 评论 -
Redis事务处理
Redis事务让一组命令在单个步骤中执行。事务中有两个属性,这说明如下:在一个事务中所有命令按顺序执行作为一个单一独立的操作。这是不可能的,到另一个客户端发出的请求被担任过Redis事务的执行过程中。Redis事务也是原子的。原子就意味着要么所有命令都执行,要么都不进行处理。我来实现一个抽奖的逻辑:抽奖者A,有1次抽奖机会,目前奖金为1000,他抽到了1个奖金为500的奖品。如何使原创 2015-12-25 22:14:21 · 677 阅读 · 0 评论 -
redis之有序集合类型(Zset)——排行榜的实现
Redis有序集合类似Redis集合存储在设定值唯一性。不同的是,一个有序集合的每个成员带有分数,用于以便采取有序set命令,从最小的到最大的分数有关。Redis 有序set添加,删除和测试中的O(1)的存在成员(固定时间,无论里面包含的元素集合的数量)。列表的最大长度为232- 1元素(4294967295,超过4十亿每个元素的集合)。at first,我们先添加一下数据:> zad原创 2015-12-24 14:57:48 · 34004 阅读 · 2 评论 -
redis之列表类型(list)——队列和栈简单实现
Redis列表是简单的字符串列表,排序插入顺序。您可以在头部或列表的尾部Redis的列表添加元素。列表的最大长度为232 - 1 (每个列表超过4十亿元素4294967295)元素。首先,插入数据到列表当中:> lpush my_list1 zhibin(integer) 1> lpush my_list1 biki(integer) 2> rpush my_list1 goo原创 2015-12-21 13:05:51 · 21287 阅读 · 0 评论 -
redis之字符串类型(string)--计数器实现
字符串类型是redis最基本的类型,如果仅仅使用字符串类型,redis和memcache操作非常相近。唯一不同就是redis字符串可以支持512M,而memcache最多只能支持1M。例子:设置和获取字符串的值> set str_name lizhibinOK> get str_name"lizhibin"S.N命令 & 描述1SE原创 2015-09-16 12:38:44 · 3517 阅读 · 0 评论 -
redis之集合类型(set)
Redis集合是一个无序的字符串合集。你可以以O(1) 的时间复杂度(无论集合中有多少元素时间复杂度都为常量)完成 添加,删除以及测试元素是否存在的操作。Redis集合有着不允许相同成员存在的优秀特性。向集合中多次添加同一元素,在集合中最终只会存在一个此元素。实际上这就意味着,在添加元素前,你并不需要事先进行检验此元素是否已经存在的操作。一个Redis列表十分有趣的事是,它们支持一些服务端原创 2015-12-24 22:20:29 · 695 阅读 · 0 评论 -
redis之哈希类型(hash)
Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型。在Redis中的哈希值,可存储超过400十亿键值对。假如我有一个表示“职工”的对象,他可以有如下属性:{"name":"binbin","age":26,"position":"PHP leader"}看看是如何将对象保存到redis中的:> hmset zhibin name "binb原创 2015-12-21 11:56:42 · 1550 阅读 · 0 评论 -
redis数据类型初探实操
当redis启动后,使用自带的redis-cli程序可以对redis数据进行操作,本文先不涉及编程语言1.字符串类型字符串类型是简单的键值组合,如果使用过memcache,就应该非常熟悉了。127.0.0.1:6379> set name "lizhibin"OK127.0.0.1:6379> get name"lizhibin"2.哈希类型我们可以将Redis中的Has原创 2015-09-15 17:50:30 · 706 阅读 · 0 评论 -
Redis与Memcached的区别
Redis与Memcached的区别传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着转载 2015-12-12 10:27:29 · 474 阅读 · 0 评论 -
redis的编译安装教程
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。1.下载redis源码安装包wget 'http://download.redis.io/releases/redis-3.0.0.tar.gz'2.解压并进入安装目录tar xvf redis-3.0.0.tar.gzcd redis原创 2015-04-10 20:51:40 · 1282 阅读 · 0 评论 -
redis数据类型和使用方法
Redis的数据类型一共有5种:1)string类型,跟memcache相似,一个key值对应一个value。一个字符串的值最多能存储512M的内容,2)list双向链表,跟C的双向链表类似,可以在链头或者链尾插入数据,但不能再链表中间插入数据(与C实现的链表不同)。性能方面,在链头或者链尾插入数据时间复杂度为O(1),在链中查找数据,时间复杂度是O(n)3)hash表,是字符串字段和原创 2015-04-10 18:10:44 · 593 阅读 · 0 评论