redis的命令大全网站:http://redisdoc.com/java
1、redis五大数据类型redis
一、String(字符串)、Hash(哈希,相似Java里的Map)、List(列表)、Set(集合)和Zset(sorted set,有序集合)数据库
二、命令(命令不区分大小写):安全
(1)set/get/del 常规命令app
(2)append k1 12345 把原值vv1和12345拼接成一个字符串:vv112345大数据
(3)strlen k1 获得k1值的长度网站
(4)INCR/DECR k2 若是k2的值为数字,那么执行一次INCR命令会加1,执行一次DECR命令会减1。spa
(5)INCRBY/DECRBY k2 3 若是k2的值为数字,那么执行一次INCRBY命令会加3,执行一次DECRBY命令会减3。对象
(6)getrange k1 0 3 取k1的字符串值的前4个字符 ,因此 get k1 至关于 getrange k1 0 -1。排序
(7)setrange k1 0 xxx 把k1的值的前3个值(和xxx的长度相同)替换为xxx。
(8)setex k2 5 vv2 把k2的存活时间设置为5秒。
(9)setnx k4 xxx 若是k4这个键值对已经存在了,那么不起做用,若是不存在,才建立,值为xxx。
(10)mset/mget k1 v1 k2 v2 k3 v3 mset同时建立三个键值对;mget同时获得k一、k二、k3的值。
(11)msetnx k4 v4 k5 v5 若是这两个键都不存在,才能够建立成功,不然只要有一个存在,那么都不能建立成功。
2、List(列表)
一、lpush/rpush list01 1 2 3 4 5 建立列表,lpush是值的顺序与建立时相反,rpush是值的顺序为建立和显示一致。
二、lrange list01 0 3 取列表的前4个值,lrange list01 0 -1则表示取出所有。
三、lpop和rpop lpop返回序号为1的元素,rpop返回序号最大的元素,而且移除这个元素。
四、lindex list01 3 返回序号为3(从0开始记数)的元素的值。
五、llen list01 返回列表list01中元素的个数
六、lrem list03 2 3 从list03中删除2个值为3的元素,从左往右删除
七、ltrim list01 0 3 复制list01中的前4个元素,并赋值给list01
八、lset list01 1 3 把数字3插入并替换list01的第2个元素
九、linsert list01 before/after 6 10 在元素6以前插入数字10
3、String(字符串)
String是redis最基本的类型,能够理解为与Memcahed如出一辙的类型,一个key对应一个value。
String类型是二进制安全的,意思是redis的string能够包含任何数据,好比jpg图片或者序列化的对象。
String类型是redis最基本的数据类型,一个redis中字符串的value最多能够是512M。
4、Hash(哈希)
redis hash 是一个键值对集合,redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。相似与java里面的Map<String, Object>。
依然是键值对模式,但值自己也是键值对。
一、hset user id 11 把user的id属性的值设为11
二、hget user id 获得id属性的值
三、hmset customer id 11 name li4 age 26 同时设置多个属性的值
四、hmget customer id name age 同时获得多个属性的值
五、hgetall customer 同时获得全部的属性和值的键值对
六、hdel user name 删除user的name属性
七、hexists customer id 查找customer是否有id属性
八、hkeys/hvals customer 获得所有键或者值
5、Set(集合)和Zset(有序集合)
redis的Set是String类型的无序集合,是经过HashTable实现的。
Zset是有序集合,和set的区别在于每一个元素都会关联一个double类型的分数,经过分数为集合中的成员从小到大进行排序。Zset的成员是惟一的,但分数能够重复。
一、 zadd zset01 60 v1 70 v2 80 v3 90 v4 建立有序列表,按照分数进行排序
二、zrange zset01 0 -1 把zset01的全部值取出来
三、zrange zset01 0 -1 withscores 把值和分数都取出来
四、zrangebyscore zset01 60 90 把60分到90分(大于等于和小于等于)的值都取出来
五、zrangebyscore zset01 (60 (90 把大于60,小于90的值都取出来
六、zrangebyscore zset01 60 90 limit 2 2 从第二个开始取,取两个
七、zrem zset01 v5 把某个值删掉
八、zcard zest01 统计值的个数
九、zcount zset01 60 90 统计60-90分的值有多少个
十、zscore zset01 v4 取得值v4对应的分数
十一、zrevrange zset01 0 -1 把值以分数相反的形式返回,原来的顺序不变
6、redis键(key)命令
一、keys * 该数据库中存在的全部key
二、exists k1 判断某个key(好比k1)是否存在
三、move k3 2 把k3的键值对移动到3号数据库中
四、expire k1 5 为给定的key设置过时时间,好比k1只存活5秒
五、ttl k2 查看该key还有多少秒过时,返回-1表示永不过时,返回-2表示已过时
六、type key 查看key是什么类型的
七、key已经存在value的状况下,set key 新value:set k1 vv1 新的value会覆盖旧的value