redis命令
Posted 顽强的蜗牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis命令相关的知识,希望对你有一定的参考价值。
Redis是一种key-value存储系统,包含五种数据类型
1,String--字符串
2,Lists--字符串列表
3,Sets--字符串集合
4,sorted sets--有序字符串
5,hash--哈希
而关于key,有几个点要提醒大家:
1).key不要太长,尽量不要超过1024字节,这不仅消耗内存,而且会降低查找的效率;
2).key也不要太短,太短的话,key的可读性会降低;
3).在一个项目中,key最好使用统一的命名模式例如:user,passwd
String类型
1,set name value---设置值
2,get name-----获取值
3,incr age --给数字字符串自动加1
4,decr age --给数字字符串自动减1
5,incrby age 10 OR decrby age 10 --给字符串加10或减10
Redis的存储结构:value里面是一个hash的架构
1,hset key fieldname value --给某个用户的某个标签赋值
2,hget key fieldname --获取某个用户的某个标签的值
3,hdel key fieldname --删除某个用户的某个标签
4,hsetnx user email 123@qq.com
a) 如果user中email属性值已经存在,不会覆盖
b) 如果不存在,设置值。
5, hmset user password 123 age 11
a) 同时设置多个值
Lists
1) lpush mylist a b c d
a) 给list类型数据结构设置多个值
2) lrange mylist 0 -1
a) 获取mylist集合中所有值
b) 0:值链表开始位置
c) -1:链表的结束位置
3) lpop mylist
a) 出栈集合mylist:出栈链表头指针元素。
4) lrem mylist 3 a
a) 删除链表mylist中前3个等于a的值。
5) lset mylist 2 s
a) 给链表mylist集合中2角标位置设置一个值,覆盖原值。
6) linsert mylist after s b
a) 在集合链表mylsit中s元素后面插入一个b
Set
命令:
1) sadd myset a b c
a) 给set集合myset设置值:a b c
b) Set集合元素值不允许重复
2) smembers myset
a) 获取集合myset中值
3) srem myset a b
a) 删除集合myset中元素
4) smove myset myset1 c
a) 把集合myset中的元素c移动到集合myset1中
Sorted set
Set集合:有序集合。
给set集合中每一元素都设置一个得分,根据得分排序。
Set集合元素不允许重复,得分可以重复。
设置得分语法:ZADD key score member [score] [member]
命令:
1) zadd mysset 1 one 2 two 12 three 9 four 10 five
a) 给集合mysset集合添加5个元素,每一个元素都设置一个得分。
2) zcount mysset 1 10
a) 获取分数1到10的元素个数,默认是闭区间。
3) zcount mysset (1 10
a) 获取分数1到10的元素个数,左边是开区间(不包含1元素)
4) zcount mysset -inf +inf
a) 获取所有元素
b) –inf:最低值
c) +inf:最高值
5) zrange mysset 0 -1 withscores
a) 获取集合mysset中所有元素
b) 0:头部元素
c) -1表示尾部元素
d) Withscores:查询元素时候,把分数查询出来
6) zrangebyscore mysset 1 10 withscores limit 2 2
a) 根据分数大小来获取元素:
b) Limit分页获取值。
以上是关于redis命令的主要内容,如果未能解决你的问题,请参考以下文章