版权声明:本文由李章勇老师创作,请支持原创,谢谢 https://blog.csdn.net/weixin_37654790/article/details/85263756
redis中有5种常见的数据类型,针对这5种数据类型有着相应的数据操作。
1.String(键值对为String - String)
set k1 v1
get k1
getset k1 v1 - hehe
mset k2 v2 - 123 k3 v3 -456
mget k1 k2 k3
incr num //自增1
incrby num 2
decr num
decrby num 2
append k1 "haha"
strlen k1
2.Hash(操作对象数据)
hset user username "zhangsan"
hmset user usersex male userage 18
hget user username
hmget user usersex userage
hincrby user userage 2
hdel user userage
hexists user userage
hkeys user
hvals user
hlen user
3.list(linkedlist, 有序列表)
lpush list:1 1 2 3
rpush list:1 4 5 6
lrange list:1 0 2
lrange list:1 0 - 1
lpop list:1
rpop list:1
lrem list:1 1 1
lrem list:1 0 2
lrem list:1 - 1 3
lindex list:1 1
lset list:1 1 9
linsert list:1 before 4 001
linsert list:1 after 6 007
rpoplpush list:1 newlist
4.set(无序, 不可重复)
sadd set:1 a b c
srem set:1 a
smembers set:1
sismember set:1 a
sadd setA 1 2 3
sadd setB 2 3 4
sdiff setA setB
sdiff setB setA
sinter setA setB
sunion setA setB
scard setA
spop setA
5.zset(sortedset, 有序集合,可排序,但是元素唯一)
[注:Sortedset和set的不同之处,是会给set中的元素添加一个分数,然后通过这个分数进行排序。]
zadd scoreboard 60 zhangsan 70 lisi 80 wagnwu
zadd scoreboard 90 zhaoliu
zscore scoreboard lisi
zrem scoreboard lisi
zrange scoreboard 0 3
zrevrange scoreboard 0 3
zrange scoreboard 0 3 withscores
zrank scoreboard zhaoliu
zrevrank scoreboard zhaoliu
zrangebyscore scoreboard 70 90 withscores
zincrby scoreboard 5 lisi
zrange scoreboard 0 - 1
zcard scoreboard
zcount scoreboard 80 90
zremrangebyrank scoreboard 0 1
zramrangebyscore scoreboard 70 90
其他常用命令:
keys *
exists k1
del k1
rename k1 k2
type k1
expire k1 1
ttl k1
另外,在数据持久化存储方面,Redis默认通过快照的方式将数据持久化到磁盘中。可以在redis.conf中修改持久化快照 的条件(如 save 900 1);还可以在redis.conf中指定持久化文件存储的目录(如 dbfilename dump.redb)。一旦redis非法关闭,那么会丢失最后一次持久化之后的数据。如果数据不重要,则不必要关 心;如果数据不能允许丢失,那么要使用aof方式。
Redis默认是不使用Aof方式持久化的。Aof方式的持久化,是操作一次redis数据库,则将操作的记 录存储到aof持久化文件中。使用aof方式持久化数据的步骤是:开启aof方式的持久化方案,将redis.conf中的appendonly改为yes,即开启aof方式的持久化方案; Aof文件存储的目录和rdb方式的相似,Aof文件存储的名称是 appendfilename "appendonly.aof"。
在同时使用aof和rdb方式时,如果redis服务器重启,则数据从aof文件加载。
持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据 恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失,如果通过redis的主从复制机制就可 以避免这种单点故障。关于这方面的资料,请参考《Redis集群配置》。