四时宝库

程序员的知识宝库

Redis笔记(redis笔记整理)

redis-server

```

redis-6.0.4 sxs$ ./bin/redis-server ./etc/redis.conf

./bin/redis-cli --raw(避免中文乱码)

tail -f log-redis.log

```

**五种数据类型:**

string:`set/get key value`

hash:`HMSET name field1 'value1' field2 'value2`,`HGET name field1`;

list:`lpush name value`,`lrange name 0 10`;

set:`sadd/smembers name value`,添加两次,自动忽略;

zset:`zadd key score(可重复,用来排序) member` ,`ZRANGEBYSCORE key 0 1000`(有序集合);

##### string常用方法:

1. set/get

2. setnx 如果key存在 不覆盖

3. setex 指定有效期 `setex key seconds value`

4. setrange 设置子字符串 `setrange key 位置 替换内容(没有原内容长,空余位置将保留原内容)`

5. getrange 获取子字符串`getrange key 0 5`前6

6. mset/mget 一次设置/获取多个 all success or all error `mset key val key1 val1`

7. msetnx 不覆盖已存在 not exist

8. getset 设置key值并返回old value `getset key newvalue`

10. incr/decr 对key自增/自减 返回新值

11. incrby/decrby 对value加指定的值,若key不存在 设置value为0 并增加值

12. append 追加value 返回长度

13. strlen 获取value长度

##### hashs

1. hset/hget

2. hsetnx

3. hmset/hmget

4. hincrby 某个字段增加值

5. hexists 判断hash表某个key是否存在

6. hlen返回hash表key数量

7. hdel 删除表的某个键值对

8. hkeys/hvals 返回表中所有key/value

9. hgetall 表中所有key/value

##### lists

1. lpush/rpush 首尾添加元素

2. lrange显示list内容 `lrange 0 -1`显示全部

3. linsert key对应的list`linsert mylist before one myvalue`

4. lset设置list指定下标元素值`lset mylist index value`

5. lrem从key对应的list中删除n个value相同的元素 返回影响元素的个数,n<0 从尾部删除,n=0 全删除`lrem mylist count 'value'`

6. ltrim保留指定范围内数据 `ltrim mylist 0 3`返回ok

7. lpop/rpop 首部删除 尾部弹出 返回该元素

8. rpoplpush从list1尾部弹出并添加list2头部`rpoplpush list1 list2`

9. lindex返回list位置的元素 `lindex mylist 3`

10. llen 返回list元素个数

##### sets

1. setadd/smembers 添加/查看所有

2. srem 删除集合中一个元素 `srem myset two`

3. spop 随机返回并删除一个元素 `spop myset`

4. sdiff 返回与第一个set差集 `sdiff set1 set2`

5. sdiffstore 比较差集并储存另一个集合中`sdiffstore newset set1 set2`

6. sinter 返回所有给定集合交集`sinter set1 set2`

7. sinterstore 同5

8. sunion 并集

9. sunionstore 同5 返回个数

10. smove set1元素移动到set2 `smove set1 set2 'value'`

11. scard 返回集合元素个数

12. sismember测试元素是否在集合中 0不存在 大于0存在 `sismember set1 'value'`

13. srandmember 随机返回集合元素

##### zset

1. zadd `zadd key score menber`

2. zrange 取出`zrange myset 0 -1 withscores//显示序号 by index`

3. zrem删除名称为key的zset中的元素menber`zrem myset member`

4. zincrby修改元素排序,不存在则添加,且score为增加值 `zincrby myset score itim`

5. zrank/zrevrank 返回元素在集合中排序位置/逆顺序(大到小)`rank myset itim`

6. zrevrange 返回逆序 索引start 到end所有元素`zrevrange myset 0 -1`

7. zrangebyscore 根据排序索引的score返回元素 `zrangebyscore myset 1 3 withscores`

8. zcount 返回集合中给定区间的数量`zcount myset 2 4`//集合中2-4索引元素的个数

9. zcard 返回集合中所有元素个数

10. zremrangebyrank 删除集合中排序在给定区间的所有元素 按索引删除`zremrangebyrank myset 2 4`

11. zrenrangebyscore 删除集合中给定排序区间的元素 按顺序删除 `zremrangebyscore myset 2 4`

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接