redis的小结

redis使用场景:

1.在主页中显示最新的项目列表。

2.删除和过滤

3.排行榜及相关问题。

4.按照用户投票和时间排序。

5.过期项目处理。

6.计数。

7.特定时间内的特定项目。

8.实时分析正在发生的情况,用于数据统计与防止垃圾邮件等。

9.Pub/Sub。

10.队列。

11.缓存。

12.关注者列表。

13.共同关注。

...............

1、redis包含如下结构(引自官方):

  • Binary-safe strings.
  • Lists: collections of string elements sorted according to the order of insertion. They are basically linked lists.
  • Sets: collections of unique, unsorted string elements.
  • Sorted sets, similar to Sets but where every string element is associated to a floating number value, called score. The elements are always taken sorted by their score, so unlike Sets it is possible to retrieve a range of elements (for example you may ask: give me the top 10, or the bottom 10).
  • Hashes, which are maps composed of fields associated with values. Both the field and the value are strings. This is very similar to Ruby or Python hashes.
  • Bit arrays (or simply bitmaps): it is possible, using special commands, to handle String values like an array of bits: you can set and clear individual bits, count all the bits set to 1, find the first set or unset bit, and so forth.
  • HyperLogLogs: this is a probabilistic data structure which is used in order to estimate the cardinality of a set. Don‘t be scared, it is simpler than it seems... See later in the HyperLogLog section of this tutorial.

2、String类型小结

a)、string类型的value最大为512M。可以存储任何类型的数据。

b)、mset,msetnx区别,使用msetnx时,只要有一个key存在,则该语句就不执行。

c)、用于统计用户每月登录次数时,可使用setbit,getbit,bitcount,占用空间小且方便。

3、list类型小结

a)、string类型的232 - 1 ,当列表数据达到几百万时,访问数据依然很快(访问列表中间数据时较慢),时间复杂度O(N)。

b)、使用时间轴时,可以使用lpush将数据放在最上面,通过lrange来获取数据

c)、通过ltrim删除不访问的数据来达到top N的结果。

d)、BLPOP、BRPOP、BRPOPLPUSH获取数据时,会阻塞当前进程,直到获取数据或到了指定的时间(单位s)

时间: 2024-08-21 04:47:11

redis的小结的相关文章

redis学习小结一

Redis知识点小结一 概念: 内存数据库,用于做缓存.可做分布式锁,提供多种数据类型支持不同业务场景.支持事务.持久化.LUA脚本.LRU驱动事件. 高性能和高并发 高性能:第一次访问数据库中的数据会比较慢,因为是从磁盘上读取.将用户第一次访问的数据放入缓存,第二次或以后的多次访问直接查缓存,没有再去磁盘,提高查询效率,缩短查询时间.如果数据库中的数据改变,那么就同步改变缓存中的数据. 高并发:直接操作缓存能够承受的请求远远超过直接访问数据的请求.可以考虑将部分数据库中的数据移到缓存中,从而实

redis开发小结

随着缓存在web服务中用的越来越广泛,redis可以说成为了目前最流行的NoSQL数据库!redis与memcached最大的不同在于redis支持更多的数据类型,包括string.hash.list.set.sorted list等,所以redis的发展非常迅速,很多公司已将memcached替换为redis.我也做了一些redis的开发,现做一些小结. 1. redis常用配置 daemonize no     //Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用

redis入侵小结

Redis安装: Windows安装包:http://pan.baidu.com/s/1i3jLlC5 下载下来之后,开始安装: Redis-server.exe redis.conf: 简单一步,安装成功,保持这个Windows持续运行~ 查看一下我们本机的端口,可以看到多了一个6379端口,安全风险来了,记得设置redis的密码~ 接下来,开始利用redis-cli.exe来进行远程redis的入侵: 如果远程redis数据库存在未授权访问漏洞,则可以直接上传shell: 开启redis客户

storm写redis问题小结

最近一直在跟进storm的问题,从storm集群的稳定性到监控到升级到bolt写redis的问题,因为公司目前没有专业运维redis的,只能我们数据部门自己搞了..下面记录下遇到的几个问题: 总结下目前storm写redis问题: 1.redis高峰写入异常,增加redis监控,发现cpu性能瓶颈(redis单线程,最高10w/s的处理量) 2.之前redis bolt的并发在200以上,过多的并发对redis的性能造成比较大的影响,现在已经减少为5 3.关闭了redis的monitor监控,常

分布式redis一些小结

本文围绕以下几点进行阐述: 为什么使用 Redis 使用 Redis 有什么缺点 单线程的 Redis 为什么这么快 Redis 的数据类型,以及每种数据类型的使用场景 Redis 的过期策略以及内存淘汰机制 Redis 和数据库双写一致性问题 如何应对缓存穿透和缓存雪崩问题 如何解决 Redis 的并发竞争 Key 问题 为什么使用 Redis 我觉得在项目中使用 Redis,主要是从两个角度去考虑:性能和并发. 当然,Redis 还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其

go中redis使用小结

最近做了个关于redis的项目,那么就整理下遇到和未遇到的问题 1.redis的简介安装 2.redis的数据结构 3.Redis基本使用 4.Redis的并发 5.Redis的落地 一.redis的简介安装 一.Redis 是什么 Redis 是一款依据BSD开源协议发行的高性能Key-Value存储系统(cache and store).它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) , 有序集合(so

Redis使用小结

Redis官方没有windows版本的,对于Windows环境的redis,有如下两个方案 微软的移植版本,但只支持到3.2 下载地址 win10及以上的版本直接通过win10的liunx子系统执行 这里以windows的移植版本为例: 启动服务: redis-server.exe 更多启动参数可以参考:https://dingyuliang.me/redis-3-2-install-redis-windows/.建议安装成服务使用. ? 客户端API访问: 官方推荐客户端接口: https:/

Redis学习小结

大数据时代要求: 三V:Volume海量.Velocity实时.Variety多样: 三高:高并发.高可扩.高性能 高并发操作不建议使用关联查询,而使用冗余数据,分布式系统支持不了太多的并发. 横向 VS 纵向: 纵向有极限,好比一台服务器存储资源总是有限度的. 横向无极限,好比一群服务器集群形成一个庞大的网络,资源不足时只需要继续增加新的服务器即可. NoSQL是什么? Not Only SQL,不仅仅是SQL,泛指非关系型数据库,这种类型数据库存储不需要固定的关系模式,数据之间没有直接关系,

redis部署手册

一.redis介绍 1.redis简介 REmote DIctionary Server(Redis)是一个基于key-value键值对的持久化数据库存储系统.redis和memcached缓存服务很像,但是redis支持的数据存储类型更丰富,包括string(字符串).list(链表).set(集合)和zset(有序集合)等: 这些数据类型都支持push/pop.add/remove及取交集.并集和差集及更丰富的操作,而且这些操作都是原子性的:在此基础上,redis支持各种不同方式的排序,与m