2018-11-13Redis基础操作

进入redis

redis-cli
redis-cli --raw 可以避免中文乱码了

五种数据类型

string 字符串
set key value 增加或修改 字段 值
rename key 修改 key
mset key value key2 value key3 value... 增加或修改多个 键值对。
mget key1 key2 key3.... 查询多个key的值
keys * 查看所有key
del key 删除key value
ttl key 查询key的过期时间:-1永久存在,-2 不存在 。
append key key对应的value 追加 内容。
例:set name jarry.
append name 666
结果 get name :jarry666
exisits key 查询key 是否丰存在
expire key seconds :exprie name 18
表示key name 只能存在 18秒

set key value ex seconds #新增键值时 设置 key的生存时间
例:set name jarry ex 50 #key name 50秒后被del

运算:

incr key 表示 这个key 每运算一次加1 key必须是int类型
decr key 每次减1
incrby key 200 每次加200
decrby key 100 每次减100

list 列表

左添加(栈) lpush
lpush list1 1 2 3 4 5 6 7 8
右添加(队列) rpush
127.0.0.1:6379> RPUSH list2 1 2 3 4 5 6 7
(integer) 7
127.0.0.1:6379> LRANGE list2 0 -1

  1. "1"
  2. "2"
  3. "3"
  4. "4"
  5. "5"
  6. "6"
  7. "7"

查看 lrange(list range)
127.0.0.1:6379> LRANGE list1 0 -1

  1. "8"
  2. "7"
  3. "6"
  4. "5"
  5. "4"
  6. "3"
  7. "2"
  8. "1"
    获取元素个数 llen
    查看索引位置元素 lindex
    左删除 lpop
    右删除 rpop
    指定删除 lrem(list remove)
    例: lrem list1 3 5 删除 从上到下 删除 3次 5
    lrem list1 -3 5 删除 从下到上 删除 3次 5
    lrem list1 0 5 删除 列表中所有 5

hash 哈希

设置 hset hset key field value
设置多个 hmset hmset key field value field1 value1 field2 value2
获取 hget hget key field
获取多个 hmget hmget key field field1 field2 field3
获取全部 hgetall
删除 hdel
27.0.0.1:6379> HMGET users age sex

  1. "18"
  2. "nan"
    127.0.0.1:6379> hgetall users 所有键值
  3. "name"
  4. "zhuoda"
  5. "age"
  6. "18"
  7. "sex"
  8. "nan"
    127.0.0.1:6379> hkeys users 所有键
  9. "name"
  10. "age"
  11. "sex"

127.0.0.1:6379> hvals users 所有值

  1. "zhuoda"
  2. "18"
  3. "nan"
    127.0.0.1:6379> hlen users 长度
    (integer) 3

获取所有field hkeys
获取所有value hvals
获取field个数 hlen

key:(field:value)

set 集合

设置 sadd
set add set1 1 2 3 4
获取 smembers
127.0.0.1:6379> sadd set1 1 3 1 2 4 5 6
(integer) 6
127.0.0.1:6379> SMEMBERS set1

  1. "1"
  2. "2"
  3. "3"
  4. "4"
  5. "5"
  6. "6"

指定删除 srem
127.0.0.1:6379> srem set1 3 删除 set1 中的 3
(integer) 1
127.0.0.1:6379> SMEMBERS set1

  1. "1"
  2. "2"
  3. "4"
  4. "5"
  5. "6"
    随机删除 spop
    127.0.0.1:6379> spop set1 2 随便删除 2次,不写2 默认为1
  6. "6"
  7. "8"

移动值 smove 从集合1 移动到 集合2 xx值
127.0.0.1:6379> SMEMBERS set1

  1. "1"
  2. "2"
  3. "4"
  4. "5"
  5. "7"
  6. "9"
    127.0.0.1:6379> SMEMBERS set2
  7. "6"
  8. "7"
  9. "8"
  10. "9"
    127.0.0.1:6379> SMOVE set1 set2 2
    (integer) 1
    127.0.0.1:6379> SMEMBERS set1
  11. "1"
  12. "4"
  13. "5"
  14. "7"
  15. "9"
    127.0.0.1:6379> SMEMBERS set2
  16. "2"
  17. "6"
  18. "7"
  19. "8"
  20. "9"

判断是否存在 sismember set1 12判断 set1中是否存在在12这个值
交集 sinter
并集 sunion
差集 sdiff
127.0.0.1:6379> sinter set1 set2

  1. "7"
  2. "9"
    127.0.0.1:6379> sunion set1 set2
  3. "1"
  4. "2"
  5. "4"
  6. "5"
  7. "6"
  8. "7"
  9. "8"
  10. "9"
    127.0.0.1:6379> sdiff set1 set2
  11. "1"
  12. "4"
  13. "5"

交集合并 store
并集合并
差集合并
获取个数scard scard set1
随机返回 srandmember

sorted sets 有序集合 用于排序 权重小的排前面。。。

设置 zadd 权重 =优先级 索引
zadd 集合名 权重 值 权重 值
127.0.0.1:6379> zadd zset1 10 a 20 b 30 c --zadd zset1 10(表示权重) a(值)
(integer) 3
127.0.0.1:6379> zrange zset1 0 -1

  1. "a"
  2. "b"
  3. "c"

正序 zrange
倒序 zrevrange

删除 zrem

索引正序 zrank
127.0.0.1:6379> ZRANK zset4 81
(integer) 5

索引反序 zrevrank
查看元素数量 zcrad
127.0.0.1:6379> ZCARD zset4
(integer) 8

返回给定区间元素 zrangebyscore
127.0.0.1:6379> ZRANGEBYSCORE zset4 0 5 权重范围

  1. "14"
  2. "15"
  3. "16"
  4. "160"
  5. "80"
  6. "81"

返回给定区间数量 zcount
查看score值 zscore
删除排名在给定区间的元素 zremrangebyrank
删除 score 在给定区间的元素 zremrangebyscore

你可能感兴趣的:(2018-11-13Redis基础操作)