系统级

  1. # 启动
  2. redis-server xxx.conf
  3. # 启动
  4. redis-cli -p 6379
  5. # 关闭连接
  6. shutdown

压力测试

  1. redis-benchmark [options] [value]
  2. -h:指定服务器主机名
  3. -p:指定服务器端口
  4. -s:指定服务器socket
  5. -c:指定并发连接数
  6. -n:指定请求数
  7. -d:以字节的形式指定set/get值的数据大小
  8. -rset/get/incr使用随机keysadd使用随机值
  9. -P:通过管道传输请求
  10. -q:强制退出redis,仅显示query/sec
  11. --csv:以CSV格式输出
  12. -l:生成循环,永久执行测试
  13. -t:仅运行以逗号分隔的测试命令列表
  14. -IIdle模式,仅打开Nidle连接并等待
  15. # 100个并发连接,100000个请求,检测host为localhost,端口为6379的redis服务器
  16. redis-benchmark -h localhost -c 100 -n 100000 -p 6379

数据库

  1. select 7 # 选择7号数据库
  2. dbsize # 查看当前数据库的key数量
  3. flushdb # 清空当前数据库
  4. flushall # 清空所有数据库

键key

  1. keys * # 查看所有key
  2. exists key # 查看是否存在key
  3. move key index # 将key转移到指定的数据库
  4. expire key second # 设置过期时间
  5. ttl key # 查看key的存活时间
  6. type key # 查看key的类型

字符串String

  1. set key value # 设置键值对
  2. get key # 获取key对应的值
  3. del key # 删除key
  4. keys * # 查看所有key
  5. exists key # key是否存在
  6. append key value # 若key不存在,则相当于set;若key存在,则相当于append
  7. strlen key # 获取key的字符串长度
  8. incr key # 将key对应的值自增(Integer)
  9. decr key # 将key对应的值自减(Integer)
  10. incrby key incrment # 将key对应的值增加value(Integer)
  11. decrby key decrment # 将key对应的值减少value(Integer)
  12. getrange key start end # 获取key下标[start,end]对应的内容
  13. getrange key 0 -1 # 获取全部的值
  14. setrange key offset value # 设置key指定下标offset的内容为value
  15. setex key seconds value # 设置key的过期时间
  16. setnx key value # 如果key不存在则设置键值对
  17. mset key value [key value...] # 设置多个键值对
  18. mget key [key] # 获取多个值
  19. msetnx key value [key value...] # 设置多个值,原子性操作
  20. getset key value # 设置key,返回上一次设置的value

列表List

  1. lpush key value [value...] # 往列表头部添加一个或多个值
  2. rpush key value [value...] # 往列表尾部添加一个或多个值
  3. lrange key start stop # 获取列表范围内的值[start,stop]
  4. lrange key 0 -1 # 获取列表的所有值
  5. lpop key # 弹出列表头
  6. rpop key # 弹出列表尾
  7. lindex key index # 获取列表指定下标的值
  8. llen key # 获取列表的长度
  9. lrem key count value # 移除count个与value相等的值
  10. ltrim key start stop # 修剪,保留[start,stop]的值
  11. rpoplpush source destination # 将sourc的最后一个值弹出添加到destination
  12. lset key index value # 将列表下标为index设置为value
  13. linsert key before|after pivot value # 在key前面|后面插入value

集合Set

  1. sadd key member [member...] # 将一个或多个元素添加到集合中
  2. smenbers key # 返回集合中的所有成员
  3. sismember key member # member是否是key的成员之一
  4. scard key # 获取集合里面的元素个数
  5. srem key member [member...] # 移除集合中的一个或多个元素
  6. srandmember key [count] # 随机返回集合中的n个元素
  7. spop key [count] # 随机弹出集合中的n个元素
  8. smove source destination member # 将成员从一个集合移到另一个集合
  9. sdiff key1 [key2...] # 返回集合2中没有的集合1元素
  10. sinter key key # 返回两个集合的交集
  11. sunion key key # 返回两个集合的并集

哈希Hash

  1. hset key field value # 设置键值对 key - <field,value>
  2. hget key field # 获取哈希表中的的field字段对应的值
  3. hmset/hmget key field value # 存入/获取多个
  4. hgetall key # 获取哈希表中所有的键值对
  5. hdel key field [field] # 删除哈希表中一个或多个字段
  6. hlen key # 获取哈希表的键值对的数量
  7. hexists key field # 哈希表中是否存在字段
  8. hkeys key # 哈希表中所有的字段
  9. hvals key # 哈希表中所有的值
  10. hincrby key field incrment # 为哈希表中的字段增加指定值
  11. hsetnx key field value # 为哈希表中不存在的字段赋值

有序集合Zset

  1. zadd key score member # 将一个或多个值及其分值添加到须有序集合中
  2. zrange key start stop [withscores] # 返回指定区间内的成员(显示分值并递增)
  3. zrangebyscore key min max [withscores] [limit] # 显示指定区间的集合
  4. zrangebyscore key -inf +inf # 显示正无穷到负无穷的成员
  5. zrem key member [member...] # 移除集合中的一个或多个成员
  6. zcard key # 返回集合的成员数量
  7. zrank key member # 返回集合中成员从小到大的排位
  8. zrevrank key member # 返回集合中成员从大到小的排位

地理位置GEO

  1. geoadd key longitudu latitude member # 添加地理位置,值为经纬度
  2. geopos key member [member...] # 返回key里指定位置的经纬度
  3. geodist key member1 member2 [unit] # 返回两地的距离
  4. georadius key longitude latitude radius m|km| # 给定经纬度为中心,找出某一半径内的元素
  5. georadius key longitude latitude radius m|km| withdist # 返回位置名称和中心距离
  6. georadius key longitude latitude radius m|km| withcoord # 返回位置名称和经纬度
  7. georadius key longitude latitude radius m|km withdist withcoord count n # 返回位置名称距离和经纬度,限定个数为n
  8. georadiusbymember key member radius m|km|ft|m [withcoord] [withdist] [withhash] [asc|desc] [count count] # 找出指定范围内的元素,中心点由给定的位置元素决定
  9. geohash key member [member...] # 经纬度转化为字符串,字符串越长表示位置更精确,两个字符串越相似距离越近
  10. zrem key member [member...] # geo并没有删除,底层通过zset实现,因此用zrem

HyperLogLog

  1. pfadd key element [element...] # 添加元素到HyperLogLog中
  2. pfcount key [key...] # 返回技术估算值
  3. pfmerge destkey sourcekey [sourcekey...] # 将多个HyperLogLog合并为一个

BitMap

  1. setbit key offset value # 设置key的第offset位位1或0
  2. getbit key offset # 获取offset位的值
  3. bitcount key [start end] # 查看key上位为1的个数