redis
redis remote dictionary system.内存数据库但提供了持久化支持。可以当作缓存使用,TTL,列表类型可以实现队列。
传输协议:TCP
redis多数据库:redis一个实例可以支持多个数据库。但不支持自定义数据库名字,默认为0-15.select 1使用一号数据库。更像是命名空间,没法完全隔离,并且没法提供细粒度的权限控制。因为redis非常轻量级,所以不同的应用可以使用不同的redis实例。
竞态条件:一个系统或者进程的输出,依赖于不受控制的事件的出现顺序或者出现时机。
数据类型:字符串,散列类型,列表类型,集合类型,有序集合类型。
redis的数据类型不支持数据类型的嵌套。
有序集合:ZADD
常用命令:
append key " world"
需要使用双引号以区分空格。
列表是一个双向的列表,可以当作栈或者是队列使用,最常用的操作时LRANGE key 0 -1表示取出全部的元素,
lrange key start end
1如果开始的位置大于结束的位置,则会返回空列表,
2如果end大于实际的索引范围,则会返回列表最右边的位置。
删除列表中指定的值:
lrem key count value
当count小于0时,表示是从右边删除,否则表示从左边。当count等于0时,会删除所有值为value的元素。
sort 是个比较耗费成本的操作,应该慎用。
任务队列。
优先级队列。
发布订阅者模式。
管道。客户端和redis是使用tcp协议连接。使用管道可以减少命令传输的次数。
浙公网安备 33010602011771号