redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数…
Redis五大类型:字符串(String).哈希/散列/字典(Hash).列表(List).集合(Set).有序集合(sorted set)五种Controller:@Resource RedisTemplate<String, String> redisTemplate;总括:redisTemplate.opsForValue();//操作字符串redisTemplate.opsForHash();//操作hashredisTemplate.opsForList();//操作listredi…
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).也能实现订阅发布系统,我们来看看怎样用redis和python结合起来进行订阅发布的, import redis class RedisSubscri(): def __init__(self,host): self.coon=redis.Redis(host=…
一.redis 五大类型: redis 键 keys * exists key的名字,判断某个key 是否存在 move key db 当前数据库就没有了,被移除了 ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期 type key 看看你的key是什么类型redis 字符串 set.get .del.append.strlen incr.decr .incrby. decrby getrange.setrange setex(set with expire)键秒值.setn…
目录 简单动态字符串链表字典跳跃表整数集合压缩列表对象 对象的类型与编码字符串对象列表对象哈希对象 集合对象有序集合对象类型检查与命令多态内存回收对象共享对象的空转时长 简单动态字符串  导读 Redis 只会使用 C 字符串作为字面量, 在大多数情况下, Redis 使用 SDS (Simple Dynamic String,简单动态字符串)作为字符串表示. 比起 C 字符串, SDS 具有以下优点: 常数复杂度获取字符串长度. 杜绝缓冲区溢出. 减少修改字符串长度时所需的内存重分配次数. 二…
demo:http://www.200ok.fun:8083/api/chat/list 前言:这个种方式太耗redis连接数,每次订阅都会新起一个进程,仅供练手使用,切勿用于生产环境. 原理:1.PHP提供两个接口,订阅,发布,redis就有提供2.订阅接口会卡住,不会马上response,直至有发布的消息3.前端需要在一次订阅请求成功或失败后立即重新发一个订阅请求,以免错漏信息 后台代码(用的laravel框架,只要能调用redis,实现一致即可): // 订阅接口public functi…
list类型操作 设置操作:lpush:    lpush key value            在list左侧插入value rpush:    rpush key value            在list右侧插入value linsert:    linsert key before value1 value2    在原来存在的value1前面插入value2 lset:    lset key pos value            设置或修改指定pos下标的vaule lre…
set类型操作 设置操作:sadd:        sadd key value        给指定的key添加元素,重复返回0表示添加失败. srem:         srem key value          删除key内的指定value spop:        spop key            随机删除key内的一个value smove:           smove key1 key2 value      将key1内的value删除添加到key2内 集合操作:sd…
hash 类型操作设置操作:hset:    hset key filed value        创建指定key的filed-value名值对 hsetnx:    hsetnx key filed value        创建不存在的key的filed-value名值对,已存在则创建失败 hmset:    hmset key filed1 value1 filed2 value2    创建key对应的多个filed-value hdel:    hdel key filed     …
这个就是一个消息可以被多次消费的范例了 其实这个实现的方式可以参考我之前的设计模式,观察者模式 https://www.cnblogs.com/cutter-point/p/5249780.html 不过有一点需要注意一下啊,这个消息发布的时候,好像是不支持字节数据的,里面好像会对字节进行转换,这样的结果就是导致我最后无法吧相应的字节转换成我之前序列化的对象 不知道是不是ObjectInputStream和ObjectOutputStream实现不是很好的原因,还是什么,反正反序列化的时候,有些…