摘要:连接查看键存取变量字符串操作查看类型查看是否存在切换数据库默认数据库获取多个操作原子操作没有操作获取片段,包含最右边的元素,支持负数索引获取所有元素从左边开始删除第一个值为的元素删除所有值为的元素从右边开始删除第一个值为的元素查
连接redis
redis-cli -h 192.168.2.215 -p 6379查看键
keys *存取变量
set num 1 get num字符串操作
set str "hello" append str "world" strlen str查看类型
type num type amap type alist查看是否存在key
exists num exists alist hexists mmap email切换数据库(默认0数据库)
select 1获取多个key
mget num str mset num 3 str "world"bit操作
set fg "bar" getbit fg 0 getbit fg 6 setbit fg 0 1 bitcount fg原子操作
incr num incrby num 3 decr num decrby num 2 incrbyfloat num 2.1 #没有decrbyfloat incrbyfloat num -0.1list操作
lpush alist a lpush alist b lpush alist c rpush alist d lpop alist rpop alist llen alist
获取片段,包含最右边的元素,支持负数索引
lrange alist 0 4
获取所有元素
lrange alist 0 -1
从左边开始删除第一个值为p的元素
lrem alist 1 p
删除所有值为p的元素
lrem alist 0 p
从右边开始删除第一个值为p的元素
lrem alist -1 p
查找索引为0的元素
lindex alist 0
查找右边第一个元素
lindex alist -1
通过索引赋值
lset alist 2 y
删除指定索引外的元素
ltrim alist 0 3
在指定值w后插入
linsert alist after w k
在指定值w之前插入
linsert alist before w x
从右边pop一个元素到目标列表
rpoplpush alist blist按其他键排序
lpush slist 2 1 3 set itemscore:1 50 set itemscore:2 100 set itemscore:3 -10 sort slist by itemscore:* desc集合操作
sadd myset a sadd myset b c
查看所有
smembers myset
查看集合元素个数
scard myset
删除元素
srem myset c
判断元素是否在集合中
sismember myset c
集合运算
sadd seta 1 2 3 sadd setb 2 3 4
计算差集
sdiff seta setb
计算差集并存储到setj
sdiffstore setj seta setb sadd setc 2 3 sdiff seta setb setc
计算交集
sinter seta setb
计算交集并存储到setx
sinterstore setx seta setb
计算并集
sunion seta setb
计算并集并存储到setu
sunionstore setu seta setb
随机获取元素
srandmember seta 2
从集合随机弹出一个元素
spop seta
集合排序,默认将元素转为双精度浮点,从小到大排序
sort seta
按照字典顺序
sort setn alpha有序集合
列表是双向链表实现的,获取靠近两端的元素速度快,当元素增多时访问中间元素变慢
比较适合新鲜事、日志这种很少查询中间元素的应用
有序集合是使用散列表/跳跃表实现的,读取中间元素也很快
列表不能简单调整某个元素的位置,有序集合可以
有序集合会给每个元素计算分数,更耗内存,是所有集合中最高级的
zadd sortset 89 tom 90 jim 100 david
更新jim分数
zadd sortset 78 jim
按照得分从小到大查看元素
zrange sortset 0 -1
按照得分从大到小查看元素
zrevrange sortset 0 -1
查看元素和得分
zrange sortset 0 -1 withscores
查看得分
zscore sortset david
按照得分范围查看,包含90
zrangebyscore sortset 90 100
不包含90
zrangebyscore sortset (90 100
无穷,从第二个人开始取3个人
zrangebyscore sortset (80 +inf limit 1 3
增加某个元素分数
zincrby sortset -3 tom
获取元素个数
zcard sortset
获取指定范围内元素个数
zcount sortset 90 100 zcount sortset (89 +inf
删除一个或多个元素
zrem sortset jim
按照排名删除
zremrangebyrank sortset 0 2
按照分数范围删除分数
zremrangebyscore sortset (60 80
获取排名,从小到大
zrank sortset jim
获取排名,从大到小
zrevrank sortset jim
计算有序集合交集
zadd t1 1 a 2 b zadd t2 10 a 20 b
2为元素个数
zinterstore rs 2 t1 t2
aggregate为新集合元素分数的计算方式
zinterstore rs1 2 t1 t2 aggregate min zinterstore rs2 2 t1 t2 aggregate max zinterstore rs3 2 t1 t2 aggregate sum
增加权重
zinterstore rs4 2 t1 t2 weights 1 0.1 zrange rs2 0 -1 withscoresmap操作
hset amap name "psersia" //update or insert a key hset amap email "a@g.com" hget amap name hgetall amap hmset mmap username persia password pw age 3 hmget mmap username age hgetall mmap //当字段不存在时赋值,atomic hsetnx mmap email p@gmail.com hincrby mmap age 2 //如果不存在,则创建一个key hincrby mmap score 60 hdel mmap score hkeys mmap hvals mmap hlen mmap事务
multi sadd "user:1:following" 2 sadd "user:2:followers" 1 exec
watch的变量在watch之后被修改
#于是事务不执行,count值为2 set count 1 watch count set count 2 multi set count 3 exec get count设置缓存时间
set mycache 100
15分钟后失效,-1为永久存活
expire mycache 900
重新设置生存时间
expire mycache 90 #以毫秒为单位 pexpire mycache 1000查看剩余的存活时间
ttl mycache
取消缓存,改为永久存活
persist mycache
set也可以清除生存时间
set mycache hello ttl mycachelpush,rpop实现消息队列
lpush q hello world lpush q test msg lrange q 0 -1 rpop q //带10秒的超时时间 brpop q 10 //超时时间设为0,当没有元素时一直阻塞 brpop q 0发布订阅模式
publish mychannel hi subscribe mychannel //匹配mychannel.1,mychannel.10 psubscribe mychannel.?* unsbuscribe mychannel
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/36253.html
摘要:用于为做基准性能测试。设置请求总量代表客户端的请求总量,默认为。连接事务和基本概念提供了简单的事务功能以及集成脚本来解决问题。事务提供简单的事务功能,将一组需要一起执行的命令放到和两个命令之间。将结果保存在中。命令添加添加成功返回。 慢查询 基本概念 慢查询日志记录命令执行前后的超时的执行时间。(只记录命令执行时间) 慢查询的两个配置 Redis提供了slowlog-log-slowe...
摘要:上一篇文章实战第三章命令第六节发布与订阅下一篇文章实战第四章数据安全与性能保障第节持久化选项到目前为止,本章介绍了提供的种结构以及的发布与订阅模式。 上一篇文章:Python--Redis实战:第三章:Redis命令:第六节:发布与订阅下一篇文章:Python--Redis实战:第四章:数据安全与性能保障:第1节:持久化选项 到目前为止,本章介绍了Redis提供的5种结构以及Redi...
摘要:上一篇文章实战第三章命令第六节发布与订阅下一篇文章实战第四章数据安全与性能保障第节持久化选项到目前为止,本章介绍了提供的种结构以及的发布与订阅模式。 上一篇文章:Python--Redis实战:第三章:Redis命令:第六节:发布与订阅下一篇文章:Python--Redis实战:第四章:数据安全与性能保障:第1节:持久化选项 到目前为止,本章介绍了Redis提供的5种结构以及Redi...
摘要:使用理解基本提供了种数据结构理解每次数据结构的特点在开发和运维中是很重要的使用版本本章内容如下基本全局命令字符串哈希结构全局命令有种数据结构它们是键值对中的值对于键来说是一些通用命令查看所有键例键总数命令会返回当前数据库中所有键的总数例检查 使用理解基本API redis提供了5种数据结构,理解每次数据结构的特点在开发和运维中是很重要的.使用redis版本:3.0.7 本章内容如下: ...
摘要:命令实现命令是最常用的命令之一,也是最能反映缓存发展历史的操作。命令在客户端接收之后,经由协议转换传递给服务端执行。服务端执行命令前先查询是否支持该命令,以决定是否执行。,是的简称,代表的是只存增量的持久化方式。 缘起 最近公司的第一个PHP转GO项目已经在生产环境稳定运行数周,又逢需求小年儿,最近可以得空分享下去年学GO过程中的练手项目Godis——用Golang实现的Redis. ...
摘要:命令实现命令是最常用的命令之一,也是最能反映缓存发展历史的操作。命令在客户端接收之后,经由协议转换传递给服务端执行。服务端执行命令前先查询是否支持该命令,以决定是否执行。,是的简称,代表的是只存增量的持久化方式。 缘起 最近公司的第一个PHP转GO项目已经在生产环境稳定运行数周,又逢需求小年儿,最近可以得空分享下去年学GO过程中的练手项目Godis——用Golang实现的Redis. ...
阅读 1273·2023-04-25 15:40
阅读 2132·2021-08-11 11:15
阅读 2140·2019-08-26 13:48
阅读 2746·2019-08-26 12:18
阅读 2291·2019-08-23 18:23
阅读 2804·2019-08-23 17:01
阅读 2870·2019-08-23 16:29
阅读 861·2019-08-23 15:15