redis 数据结构命令
Posted 小立攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis 数据结构命令相关的知识,希望对你有一定的参考价值。
1、字符串 String
6379>set name 'redis' //设置键name的值为redis
6379>get name //获取键name的值
6379>getset name 'newredis' //获取键name的旧值并设置name的新值为newredis
6379>setex name 100 'redis' //设置键name的值为redis且100秒后过期
6379>setnx name 'redis' //当键name不存在时设置键值为redis
6379>setrange name 1 'db' //从下标1开始将db替换到name键值中
6379>getrange name 1 5 //获取name键值的下标1到下标5的字符串
6379>strlen name //获取键name的值的长度
6379>mset name1 'redis' name2 'mysql' .... //批量设置键值对
6379>mget name1 name2 ... //批量获取键值
6379>msetnx name1 'redis' name2 'mysql' ...//批量设置键值对,当不存在时才设置
6379>psetex name 1000 'redis' //设置键name的值为redis,且过期时间为1000毫秒
6379>append name 'mysql' //追加mysql到name键值末尾
6379>set count 0 //设置键count的值为数字0
6379>incr count //递增键count的值,默认步长为1
6379>incrby count 5 //递增键count的值,步长为5
6379>incrbyfloat name 2.5 //递增键count的值,步长为浮点数2.5
6379>decr name //递减键count的值,默认步长为1
6379>decrby name 5 //递减键count的值,步长为5
2、散列hashes
6379>hset db:1 name 'redis' //设置键db:1的name字段值为redis
6379>hsetnx db:1 name 'mysql' //如果键db:1或name字段不存在则设置
6379>hget db:1 name //获取键db:1的name字段值
6379>hgetall db:1 //获取键db:1的所有字段和字段值
6379>hmset db:1 name 'redis' version 1.0 //批量设置键db:1的字段和字段值
6379>hmget db:1 name version //批量获取键db:1的字段值
6379>hlen db:1 //获取键db:1的字段数量
6379>hkeys db:1 //获取键db:1的所有字段名称
6379>hvals db:1 //获取键db:1的所有字段值
6379>hstrlen db:1 name //获取键db:1的name字段值的长度
6379>hexists db:1 name //判断键db:1的name字段是否存在
6379>hdel db:1 version //删除键db:1的version字段
6379>hset db:1 clients 10 //设置键db:1的clients字段为10
6379>hincrby db:1 clients 1 //递增键db:1的clients字段,步长为1
6379>hset man:1 weight 60 //设置键man:1的weight字段为60
6379>hincrbyfloat man:1 weight 5.5 //递增键man:1的weight字段,步长为5.5
3、列表 lists
6379>lpush dblist 'redis' 'mysql' //向列表键dblist中插入reids、mysql两个元素
6379>rpush dblist 'sybase' //向列表键dblist末尾插入sybase元素
6379>lpushx dblist 'oracle' //向列表键dblist首部插入oracle元素,如果dblist键不存在则不处理
6379>rpushx dblist 'sybase' //向列表键dblist末尾插入sybase元素,如果dblist键不存在则不处理
6379>lset dblist 1 newredis //设置列表键dblist的第一个元素为newredis
6379>lset dblist -1 newmysql //设置列表键dblist的最后一个元素为newmysql
6379>ltrim dblist 1 -1 //裁剪列表键dblist的元素为第2个到最后一个,其他的元素则删除
6379>ltrim dblist 1 -2 //裁剪列表键dblist的元素为第2个到倒数第2个,其他的元素则删除
6379>lrem dblist 1 'redis' //移除从列首开始的1个redis元素
6379>lrem dblist 2 'redis' //移除从列首开始的2个redis元素
6379>lrem dblist -1 'redis' //移除从列尾开始的1个redis元素
6379>lrem dblist -2 'redis' //移除从列尾开始的2个redis元素
6379>lrem dblist 0 'redis' //移除列表键dblist中的所有redis元素
6379>lindex dblist 1 //获取列表键dblist中下标为1的元素,下标从0开始
6379>linsert dblist before 'redis' 'mysql' //在列表键dblist中redis的前面插入mysql元素
6379>linsert dblist afeter 'redis' 'oracle' //在列表键dblist中redis的后面插入oracle元素
6379>llen dblist //获取列表键dblist的长度
6379>lpop dblist //从列表键dblist的列首弹出一个元素
6379>rpop dblist //从列表键dblist的列尾弹出一个元素
6379>rpoppush dblist newlist //从列表键dblist的列尾弹出一个元素追加到列表键newlist的列首
6379>blpop list1 //从列表键list1的列首弹出一个元素,如果没有元素则被阻塞
6379>blpop list1 list2 //按循序从列表键list1、list2其中一个的列首弹出一个元素,如果全部没有元素则被阻塞
6379>brpop list1 //从列表键list1的列尾弹出一个元素,如果没有元素则被阻塞
6379>brpop list1 list2 //按循序从列表键list1、list2其中一个的列尾弹出一个元素,如果全部没有元素则被阻塞
6379>brpoppush dblist newlist //从列表键dblist的列尾弹出一个元素追加到列表键newlist的列首,如果没有元素则被阻塞
4、集合sets
6379>sadd dbset 'redis' //向集合键dbset中添加redis元素
6379>sadd dbset 'mysql' 'oracle' //向集合键dbset中添加mysql,oracle元素
6379>scard dbset //获取集合键dbset中的元素数量
6379>spop dbset //随机弹出集合dbset中的一个元素
6379>sismember dbset 'redis' //查看键dbset中是否存在redis元素;存在返回1,不存在返回0
6379>smembers dbset //返回集合dbset中的所有元素
6379>smove dbset1 dbset2 'redis' //将集合dbset1中的redis元素移动到集合dbset2
6379>srandmember dbset //随机返回集合dbset中的一个元素
6379>srandmember dbset 2 //随机返回集合dbset中的2个元素
6379>srem dbset 'redis' //移除集合dbset中的redis元素
6379>srem dbset 'mysql' 'oracle' //移除集合dbset中的mysql,oracle两个元素
6379>sdiff dbset1 dbset2 //获取集合dbset1和dbset2的差集
6379>sinter dbset1 dbset2 //获取集合dbset1和dbset2的交集
6379>sunion dbset1 dbset2 //获取集合dbset1和dbset2的并集
6379>sdiffstore dbset1 dbset2 dbset3 //获取集合dbset1和dbset2的差集并将差集添加到集合dbset3中
6379>sinterstore dbset1 dbset2 dbset3//获取集合dbset1和dbset2的交集并将交集添加到集合dbset3中
6379>sunionstore dbset1 dbset2 dbset3//获取集合dbset1和dbset2的并集并将并集添加到集合dbset3中
5、有序集合 sorted sets
6379>zadd dbzkey 1 'redis' //新增redis元素
6379>zadd dbzkey 2 'mysql' 3 'oracle' //新增mysql和oracle元素
6379>zcard dbzkey //获取键dbzkey的元素数量
6379>zcount dbzkey 2 4 //统计2<=元素下标<=4的元素数量
6379>zcount dbzkey (2 4 //统计2<元素下标<=4的元素数量
6379>zcount dbzkey 2 (4 //统计2<=元素下标<4的元素数量
6379>zcount dbzkey (2 (4 //统计2<元素下标<4的元素数量
6379>zincrby dbzkey 1 redis //将元素redis的分值加上1
6379>zrange dbzkey 0 -1 //返回键dbzkey的所有元素名称
6379>zrange dbzkey 0 -1 withscores //返回键dbzkey的所有元素名称和分值
6379>zrevrange dbzkey 0 -1 //倒序返回键dbzkey的所有元素名称
6379>zrevrange dbzkey 0 -1 withscores //倒序返回键dbzkey的所有元素名称和分值
6379>zrangebyscore dbzkey 2 3 //返回分值在2和3之间的元素
6379>zrangebyscore dbzkey 2 3 limit 0 2 //获取分值在2和3之间的元素并返回从下标为0开始的连续2个元素
6379>zinterstore out 2 dbzkey1 dbzkey2 //求键dbzkey1和dbzkey2的交集并将结果存储到键out中,out中元素的分值是两两求和
6379>zinterstore out 2 dbzkey1 dbzkey2 weights 2 3 //求键dbzkey1和dbzkey2的交集并将结果存储到键out中,out中元素的分值是分别乘以2,乘以3后两两求和
6379>zinterstore out 2 dbzkey1 dbzkey2 aggregate sum //求键dbzkey1和dbzkey2的交集并将结果存储到键out中,out中元素的分值是两两求和
6379>zinterstore out 2 dbzkey1 dbzkey2 aggregate max //求键dbzkey1和dbzkey2的交集并将结果存储到键out中,out中元素的分值是两两求最大
6379>zinterstore out 2 dbzkey1 dbzkey2 aggregate min //求键dbzkey1和dbzkey2的交集并将结果存储到键out中,out中元素的分值是两两求最小
6379>zscore dbzkey 'redis' //获取元素redis的分值
6379>zremrangebyrank dbzkey 0 2 //删除下标0到2的元素
6379>zrank dbzkey 'redis' //获取元素redis的排名
6379>zrevrank dbzkey 'redis' //获取元素redis的反向排名
以上是关于redis 数据结构命令的主要内容,如果未能解决你的问题,请参考以下文章