1、String:key-value
redis命令不区分大小写,但是key区分的
redis中的数据都是字符串。
redis是单线程,(不适合存储比较大的数据)
使用incr 命令,如果key 不存在,会自动创建key 并自动+1.
redis中所有的数据都是字符串。
set key value 设置值
get key 获取值
incr key 加一
decr key 减一
2、Hash: key-field-value
相当于一个key 对应一个map (map中又是key- value),
应用于归类
hset key field value 设置值
hget key field 获取值
hincrby key field num 设置增数量
3、List
List是有顺序可重复(数据结构中的:双链表,队列)
可作为链表 ,从左添加元素 也可以从右添加元素。
lpush list a b c d (从左添加元素)
rpush list 1 2 3 4 (从右边添加元素)
lrange list 0 -1 (从0 到 -1 元素查看:也就表示查看所有)
lpop list (从左边取,删除)
rpop list (从右边取,删除)
4、Set
Set无顺序,不能重复
sadd set1 a b c d d (向set1中添加元素) 元素不重复
smembers set1 (查询元素)
srem set1 a (删除元素)
5、SortedSet(zset)
有顺序,不能重复
适合做排行榜 排序需要一个分数属性
zadd zset1 9 a 8 c 10 d 1 e (添加元素 zadd key score member )
(ZRANGE key start stop [WITHSCORES])(查看所有元素:zrange key 0 -1 withscores)
如果要查看分数,加上withscores.
zrange zset1 0 -1 (从小到大)
zrevrange zset1 0 -1 (从大到小)
zincrby zset2 score member (对元素member 增加 score)
127.0.0.1:6379> zadd zset1 8 a 4 b 5 c 1 d (integer) 4 127.0.0.1:6379> zrange zset1 0 -1 1) "d" 2) "b" 3) "c" 4) "a" 127.0.0.1:6379> zadd zset1 9 a (integer) 0 127.0.0.1:6379> zrange zset1 0 -1 1) "d" 2) "b" 3) "c" 4) "a" 127.0.0.1:6379> zrange zset1 0 -1 withscores 1) "d" 2) "1" 3) "b" 4) "4" 5) "c" 6) "5" 7) "a" 8) "9" 127.0.0.1:6379> zrevrange zset1 0 -1 1) "a" 2) "c" 3) "b" 4) "d" 127.0.0.1:6379> zincrby zset1 1 a "10" 127.0.0.1:6379> zrevrange zset1 0 -1 withscores 1) "a" 2) "10" 3) "c" 4) "5" 5) "b" 6) "4" 7) "d" 8) "1" |
key 命令
expire key second (设置key的过期时间)
ttl key (查看剩余时间)(-2 表示不存在,-1 表示已被持久化,正数表示剩余的时间)
persist key (清除过期时间,也即是持久化 持久化成功体提示 1 不成功0)。
del key: 删除key
EXISTS key
若key存在,返回1,否则返回0。
select 0 表示:选择0号数据库。默认是0号数据库