五大类型:
1.string(字符串)
---是redis最基本的数据类型,可以理解成与Memcached一模一样的模型,一个key对应一个value,string类型是二进制安全的,可以包含任何数据
比如jpg图片或者序列化的对象。一个redis中字符串value最多可以使512M
2.hash(哈希,类似java里的Map)
--- 是一个键值对集合,hash是一个string类型的field和value的映射表,hash特别适合用于存储对象,类似java里面的Map<String,Object>
3.list(列表)
---列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素列表的头部(左边)或者尾部(右边),它的底层实际是个链表
4.set(集合)
---Redis的Set是string类型的无序集合,通过hashTable实现的
5.zset(sorted set:有序集合)
---Redis zset和set一样也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double类型的分数,正是通过分数来为集合
中的成员进行从小到大的排序,zset的成员是唯一的,但是分数却可以重复
redis常见数据类型命令文档地址:
---http://redisdoc.com/
案例:
redis键(key):
1.keys * ----查看当前库下所有的key
2.exists key -----判断某个key是否存在
3.move key db ----移除当前库的key到其他号库中
4.expire key ---- expire key 秒钟:为给定的key设置过期时间
5.ttl key ---- ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
6.type key type key 查看你的key是什么类型
字符串(String):
1.set key value ----设置键值
2.get key ----获得键的值
3.del key -----删除键
4.append key value ---指定的键进行内容的追加
5.incr key ----对键的值进行加一
6.decrby key ----对键的值进行减一
7.Incrby key increment ----对指定的键的值进行给定的increment的相加
8.decrby key increment ----对指定的键的值进行给定的increment的相减
9.getrange key start end ----获取指定范围的key
10.setrange key offset value ---给指定位置的key进行替换
11.setex key seconds value ---给键值设定几秒后过期
12.setnx key value ---指定的键不存在加入一个key/value,存在不加入
13mset key value key1 value1 ..... ----合并设置值
14.mget key key1 ----合并取键的值
15msetnx key value key1 value1 ..--合并指定的键值,注意如果其中任何一个键存在,导致整行无法加入
16.getset key value -----先get在set值
列表(List)
1.lpush key value value1 .... ---向key这个集合中依次加入多个值(后进先出)
2.rpush key value value1 .... ----向key这个集合中依次加入多个值(先进后出)
3.lrange key start stop ----显示指定key集合的所有值
4.lpop key ---- 移除指定集合key的最后一个值
5.rpop key ----移除指定集合key的第一个值
6.lindex key index ---- 按照索引下标获得元素(从上到下)
7.llen key --拿到集合key的长度
8.lrem key count value --- 移除指定集合key的count次的值
9.ltrim key start stop ----截取指定集合的key的值在赋给自己
10.rpoplpush source destination ---移除source集合最后一个到destination集合第一个位置上
11.lset key index value --- 给指定集合key的索引设置值
12.linsert key BEFORE/AFTER pivot value ---给指定集合key的指定的pivot的前面或者后面设置值
集合(Set)
1.sadd key member member1 ..... ---向集合key中添加值,重复的值不会加入
2.smembers key ----显示集合key中所有的值
3.sismember key member ---指定集合key中的member是否存在
4.scard ---- 获取集合里面的元素个数
5. srem key member -----删除集合中元素
6. srandmember key 【count] ------ 某个整数(随机出几个数)
7.spop key [count[ ----随机出栈几个数
8.smove source destination member ---将source集合中的值移给destination集合中
9.sdiff key key1 .... ----差集
10.siniter key key1 .... ----交集
11.sunion key key1 .... ----并集
哈希(Hash):KV模式不变,但V是一个键值对
1.hset key field value --- 向当前key的field设置值
2.hget key field ---取出当前的key的field的值
3.hmset key field value field1 value1 ..... ----合并设置当前的key的field的值
4.hmget key field field1 ----合并取出key的field的值
5.hgetall key ---显示所有key/value
6.hdel key field ---删除key的field
7.hlen key ---当前key的长度
8.hexists key field ---当前key的field是否存在
9.hkeys key ---显示当前key的所有key
10.hvals key ----显示当前key的所有val
11.hincrby key field increment ----给当前key的field的值加上输入的increment值
12.hincrbyfloat key field increment ----给当前key的field的值加上输入的increment值
13.hsetnx key field value ----查看当前key的field是否存在,存在不插入,不存在插入
有序集合Zset(sorted set):
1.zadd key score member score1 member1 ..... -----指定集合key添加key
2.zrange key start stop withscores ----显示指定集合的所有值
3.zrangebyscore key min max ---显示指定集合在min--max范围之内的key
4.zrem key member ---移除指定集合key的值
5.zcard key --显示集合size
6.zcount key min max ----显示集合在min--max范围内的个数
7.zrank key member ---显示指定集合key的member的下标
8.zscore key member ---显示指定集合key的member的值
9.zrevrank key member ---逆序获得指定下标值
10.zrevrange key start stop --逆序获得指定范围的key
11.zrevrangebyscore key max min ----逆序显示指定范围的key