标签:
看到大家都需要redis,而我工作却没怎么接触过,特来学习,现在先熟悉指令,我通过redis中文的 互动教程(interactive tutorial)来学习的。
通过set key value来存储,通过get key来获取值
set key value:设置key的值,若存在则覆盖
setnx key value:SET if Not eXists,若存在则不操作。 MSET key1 value1 key2 value2 ... keyN valueN:设置这些key的值,若存在则覆盖 get key:获取key对应的值 MGET key1 key2 ... keyN:获取这些key对应的值 MSETNX key1 value1 key2 value2 ... keyN valueN:同mset,但如果其中一个key已经存在了,则都不设置。这些操作都是原子的。
EXISTS key:查看是否存在该元素。
GETSET key value:获取该元素的值,并给该元素设置新值。(通常和incr搭配使用,比如一个mycount一直incr,然后达到某些情况需要清零,清零之前需要知道mycount的值).
del key:删除元素
RENAME oldkey newkey:重命名
incr key:原子的+1; DECR key:原子的-1;
DECRBY key integer:原子的-integer;
INCRBY key integer:原子的+integer
expire key 多少秒:设置多少秒后过期; ttl key:Time To Live,查看还可以存活多久,-2表示key不存在;-1表示定时任务消失,永久存储。
EXPIRE key seconds:设置该元素多少秒后失效 PEXPIRE key milliseconds:设置该元素多少毫秒后失效 TTL key:查看还可以存活多少秒,-2表示key不存在,-1表示永久存储
SETEX key seconds value:等价于先设置变量再设置超时,即在缓存中使用:存储的同时设置超时时间,这个操作是原子的
->->->
rpush keyList value:向keyList添加元素,向后加,r表示右边
lpush keyList value:向keyList左边添加元素,LPUSH puts the new value at the start of the list.
lrange keyList beginIndex endIndex:获取keyList的元素,用两端的索引取出子集,endIndex=-1则表示全部取出
这里就要了解redis数据结构的存储类型, 字符串(strings), 散列(hashes), 列表(lists),集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。 Redis 内置了 复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。
现在学习list:
->->->
llen keyList :获取keyList的长度大小
lpop keyList:取出并移除keyList第一个元素,左边的元素
rpop keyList:取出并移除keyList最后一个元素,右边的元素
LINDEX key index:获取该索引下的元素。
lrem key count value:删除count个value。(count为正数,从头开始,删除count个value元素;count为负,则从尾部向头删除|count|个value元素;count为0,则所有的元素为value的都删除)
LSET key index value:设置索引为index下的元素为value.超出索引范围报错。
LTRIM key start end:清空索引在start 和end之外的元素,索引从0开始,两端保留,两端之外的清空。
RPOPLPUSH srckey dstkey:源队列srckey,目标队列dstkey,将srckey的最后一个移除,并放到dstkey的第一个。
-》-》
和java中list与set的区别一样。这里的set无序且值唯一。
The next data structure that we‘ll look at is a set. A set is similar to a list, except it does not have a specific order and each element may only appear once. Some of the important commands in working with sets are SADD, SREM, SISMEMBER, SMEMBERS and SUNION.
sadd key value : 向set添加元素
srem key value :从set中移除元素
smembers key : 取出所有set元素
SISMEMBER key value: 查看value是否存在set中
SUNION key1 key2 ... keyN:将所有key合并后取出来,相同的值只取一次
scard key : 获取set中元素的个数
SDIFF key1 key2 ... keyN:获取第一set中不存在后面几个set里的元素。
SDIFFSTORE dstkey key1 key2 ... keyN:和sdiff相同,获取key1中不存在其他key里的元素,但要存储到dstkey中。
SINTER key1 key2 ... keyN:取出这些set的交集
SINTERSTORE dstkey key1 key2 ... keyN:取出这些key的交集并存储到dstkey
SMOVE srckey dstkey member:将元素member从srckey中转移到dstkey中,这个操作是原子的。
-》-》-》
和set一样,唯一。但z多了个score用来排序。所以命令又像list一样:
ZADD key score member:向有序set中添加元素member,其中score为分数,默认升序;
ZRANGE key start end [WITHSCORES]:获取按score从低到高索引范围内的元素,索引可以是负数,-1表示最后一个,-2表示倒数第二个,即从后往前。withscores可选,表示获取包括分数。
ZREVRANGE key start end [WITHSCORES]:同上,但score从高到低排序。
ZCOUNT key min max:获取score在min和max范围内的元素的个数
ZCARD key:获取集合中元素的个数。
ZINCRBY key increment member:根据元素,score原子增加increment.
ZREMRANGEBYSCORE key min max:清空集合内的score位于min和max之间的元素。
ZRANK key member:获取元素的索引(照score从低到高排列)。
ZREM key member:移除集合中的该元素
ZSCORE key member:获取该元素的score
可以存储对象,比如人,编号,姓名,年龄等
HSET key field value:key是对象名,field是属性,value是值; HMSET key field value [field value ...]:同时设置多个属性 HGET key field:获取该对象的该属性 HMSET key field value [field value ...]:获取多个属性值 HGETALL key:获取对象的所有信息 HKEYS key:获取对象的所有属性 HVALS key:获取对象的所有属性值 HDEL key field:删除对象的改属性 HEXISTS key field:查看对象是否存在该属性 HINCRBY key field value:原子自增操作,只能是integer的属性值可以使用; HLEN key: Return the number of entries (fields) contained in the hash stored at key.获取属性的个数。
->->
标签:
原文地址:http://www.cnblogs.com/woshimrf/p/5198361.html