第二章:redis基础

101 阅读3分钟

###Redis可执行文件说明

  1. redis-server redis服务器

  2. redis-cli Redis命令行客户端 redis-cli -h 10.10.10.10 -p 6384 连接ip为x上的redis

  3. redis-benchmark 性能测试工具

  4. redis-check-aof AOF文件修复工具

  5. redis-check-dump RDB文件检查工具

  6. redis-sentinel 高可用 ###启动方法

  7. 最简启动 redis-server

  8. 带参数启动 redis-server --port xxxx

  9. 配置文件启动(首选) redis-server configpath ###常用配置

  10. daemonize 是否守护进程,默认no建议 yes

  11. port 默认6379

  12. logfile

  13. dir
    ###常用命令

  14. keys * 计算所有的键

  15. dbsize 计算数据库大小

  16. exists key

  17. del key [key]

  18. expire key seconds 设置key过期时间 ttl key 查看剩余过期时间 persist key 去掉key过期时间

  19. type key 字符串命令

  20. incr key 自增1,如果key不存在,自增后get(key)=1

  21. decr key 自减

  22. incrby key k 将key的值自增k,如果key不存在,自增后get(key)= k

  23. set key value 不管key是否存在,都设置

  24. setnx key value 当key不存在,才设置

  25. set key value xx 当key存在,才设置

  26. mget key1 key2 key3 ... 批量获取key,原子操作

  27. mset key1 key2 key3 批量设置key-value

  28. getset key newvalue 设置新值并返回旧value

  29. append key value 将value追加到旧的value

  30. strlen key 返回字符串的长度(注意中文)

  31. incrbyfloat key 3.5 增加key对应的值3.5

  32. getrange key start end 获取字符串指定下表所有的值

  33. setrange key index value 设置指定下表所有对应的值 哈希命令

  34. hget key field 获取hashkey 对应的field 的value

  35. hset key field value 设置hashkey 对应field 的value hset user:1:info name fantj (给user的第一个对象的info属性赋值 fantj)

  36. hdel key field 删除hash key对应field的value

  37. jhexists key field 判断hashkey是否有field

  38. hlen key 获取hash key field 的数量

  39. hmget key field1 field2 批量获取hash key的一批field对应的值

  40. hmset key field1 value1 field2 value2 批量设置hash key 的一批field value

  41. hgetall key 返回hashkey 对应所有的field和value

  42. hvals key 返回hash key对应所有field的value

  43. hkeys key 返回hash key对应所有field

list

  1. rpush key value1 value2 ...valueN 从列表右端插入值

  2. lpush key value1 value2 ...valueN 从列表左端插入值

  3. insert key before|after value newValue 在list指定的值前|值后插入newValue

  4. lpop key 从列表左侧弹出一个元素

  5. rpop key 从右侧弹出一个元素

  6. lrem key count value 根据count值,从列表中删除所有value相等的项;count>0 ,从左到右,删除最多couunt个value相等的项。count=0,删除所有value相等的项

  7. itrim key start end 按照索引范围修剪(裁剪)列表 itrim key 1 4 只保留第1-4位的元素,删除别的元素

  8. irange key start end 获取列表指定索引范围所有元素

  9. index key index 获取列表指定索引的某个元素

  10. llen key 获取列表长度

  11. lset key index'newValue 设置列表指定所引值为newValue lset listkey 2 java ,把第二个元素的值改为java

  12. blpop key timeout 阻塞lpop,timeout为阻塞超时时间,=0为永远不阻塞

  13. brpop key timeout 阻塞rpop,timeout为阻塞超时时间,=0为永远不阻塞

集合

  1. sadd key element 向集合key添加element(如果element已经存在,添加失败)

  2. srem key element 将集合key中的element移除

  3. scard 计算集合中的元素

  4. sismember 看元素是否在集合

  5. srandmember 从集合随机取一个元素

  6. smembers 从集合中取出所有元素(无序,小心使用)

  7. spop 从集合中随机弹出一个元素

  8. sadd user:1:tags tag1 tag2 tag... 给用户添加标签

  9. sadd tag1:users user:1 user:3 给标签添加用户

  10. sdiff user:1:follow user:2:follow = xxx # 差集

  11. sinter user:1:follow user:2:follow = xx #交集

  12. sunion user:1:follow user:2:follow = xxx #并集

  13. sdiff|sinter|sunion + store destkey .. #将差集。交集、并集结果保存在destkey中