二、Redis五大数据类型
一. String
1. append key1 “hello” 往key1为键的值后面追加“hello”,如果key1不存在,则创建key1为hello
2. strlen key1 查看key1值的长度
3. incr view 加一
4. decr view 减一
5. increby 10 加十
6. decreby 10 减十
7. getrange key1 0 3 截取字符串下表0-3的子字符串
8. setrange key2 1 xx 将下标为1的字符串替换为 xx
9. setex (set with expire 设置过期时间)setex key1 10 “hello” 设置key1在10s后过期
10. setnx (set if not exist 如果不存在则设置)setnx key1 "hello"
11. mset k1 v1 k2 v2 k3 v3
12. mget k1 k2 k3
13. msetnx k1 v1 k4 v4 (注意:原子性,要么都成功,要么都失败)
14. set user:1 {name:zhangsan,age:3}
15. getset 先get后set
二. List 所以的命令都是以L开头
List可以作既可以做队列(LPUSH RPOOP),也可以做栈。
1. LPUSH list one 向list左边插入one
2. LRANGE list 0 1
3. RPUSH list two 向list右边插入one
4. LPOP
5. RPOP
6.LREM list 2 three 一处list中两个值为three的
7. LTRIM list 1 2截取下表1-2的值
8. RPOPLPUSH list1 list2 移除list1中最后一个元素,并将移除的元素复制到list2
9. LSET list 0 value1 将list中下标为0的元素修改为value1,如果list不存在则报错
10. LINSERT list before "world" "hello" 在list中以向前插入的方式在world之前插入hello
三、Set(集合,不允许出现重复的值)
1. SADD set1 a 向集合set1中增加a
2. SMEMBERS set1 查看set1中的成员
3. SISMEMBER set1 a 查看a是否存在于set1中
4. SCARD set1 查看set1中的成员数量
5. SREM set1 a 删除set1中的a元素
6. SRANDMEMBER set1 2 从set1从随机产生2个元素
7. SPOP set1 从set1从随机删除1个元素
8. SMOVE set1 set2 a 将a元素从set1移动到set2中
9. SDIFF set1 set2 除去set1和set2中的公共元素,结果是set1中除去公共元素锁所剩余的元素(即set1和set2的差集)
10. SINTER set1 set2 查询set1和set2中的交集
11. SUINON set1 set2 查询set1和set2中的合集
四、HASH map集合,适合作为对象(key-map,map中存的也是key-value)
1. hset hash1 key1 value1
2. hget hash1 key1
3. hmset hash1 key1 value1 key2 value2
4. hmget hash1 key1 key2
5. hdel hash1 key1
6. hgetall hash1
7. hlen hash1
8. hexist hash1 key1
9. hkeys hash1
10. hvals hash1
11. hincreby hash1 key1 1
12. hdecreby hash1 key1 1
13. hsetnx hash1 key1 value1
五、Zset 有序集合
问:为什么叫做Zset?
答:前面的Z代表的是XYZ中的Z,zset是在说这是比set有更多一个维度的set
1. ZADD set1 1 one
ZADD set1 2 two 3 three
注:123分别代表优先级
2. ZRANGEBYSCORE set1 -inf +inf 按照从小到大排序
3. ZREM set1 one
4. ZRANGE set1 0 -1
5. ZCARD set1
6. ZREVRANGE set1 0 -1 由大到小排序
7. ZCOUNT set1 1 3