Redis学习笔记(一)— 基本命令和数据类型
MacOs环境
Redis基本命令
- 启动服务:
redis-server - 连接服务:
redis-cli-h指定主机/IP-p指定端口-a指定密码
- 关闭服务:先
shutdown保存数据并关闭服务;再quit退出服务 - 获取服务器信息
- 启动并连接服务之后,执行
info - 或直接在shell中执行
redis-cli info 参数指定要获取的某部分信息,例如 info memory用来获取内存信息- Server:关于Redis服务器的基本信息
- Clients:客户端连接的状态和指标
- Memory:大致的内存消耗指标
- Persistence:数据持久化相关的状态和指标
- Stats:总体统计数据
- Replication:主从复制相关的状态和指标
- CPU:CPU使用情况
- Cluster:Redis Cluster的状态
- Keyspace:数据库相关的统计数据
- 启动并连接服务之后,执行
Redis数据类型
-
字符串
set设置键值对,已存在则覆盖,成功返回OKSET <key> <value>
get返回键对应的值,不存在则返回nilstrlen返回键对应的值的长度,不存在则返回0append向键的字符串值末尾追加字符串,返回新串长度setrange更新字符串值,偏移从0开始,返回新串长度setrange key 偏移值 newValue
setnx设置键值对,已存在则返回0不覆盖;成功返回1mset、mget一次性设置/获取多个键值对MSET key value [key value...]
object encoding <key>查看字符串编码方式- int
- embstr 长度小于等于44字节的字符串
- raw 长度大于44字节的字符串
-
列表
lpush左端插入rpush右端插入
-lrange <list> 0 -1获取所有list的值- 列表索引可以按照从左到右指定为
0 ~ N-1,也可以按照从右到左指定为-1 ~ -N
- 列表索引可以按照从左到右指定为
linsert <list> after v1 v2在list列表的v1元素后面插入v2lindenx <list> 3获取list中索引为3的元素(0开始)lpushx、rpushx列表存在时才将元素插入lpop、rpop左右两端删除,不存在返回nilltrim <list> index1 index2删除list中index1-index2之外的元素lset <list> index value将list索引为index的值设置为valueblpop <list> time、brpop <list> time若list中无数据,阻塞time秒,0表示持续阻塞
-
哈希
hmset <hashName> field name [field name...]设置哈希表hmget <hashName> field field...从一个哈希表中获取多个字段对应的值hget <hashName> field从一个哈希表中获取某个字段对应的值hexists <hashName> field测试一个哈希中是否存在某个字段hgetall获取一个hash的所有字段值(过大的哈希容易造成阻塞)hscan key cursor [MATCH pattern] [COUNT number]增量地迭代遍历元素cursor表示游标,迭代开始位置MATCH匹配满足制定Glob表达式的字段COUNT指定每次迭代的返回元素个数,默认是10- 返回的新游标为0时表示遍历完成
hset修改现有字段的值或增加新的字段hdel删除一个hash中的某个字段hsetnx字段不存在时设置字段
-
集合
- 唯一、无序
sadd set member [member...]给集合添加元素sismember set member检测member是否在set中srem从集合中删除元素scard获取集合中元素数量smembers列出集合所有元素(数据量大会导致阻塞)- 集合运算
- 并集计算:
sunion、sunionstore - 交集计算:
sinter、sinterstore - 差集计算:
sdiff、sdiffstore - 不带store直接返回操作结果;反之将结果存到一个指定的键中
- 并集计算:
-
有序集合
zadd添加集合元素zrevrange获取集合排序zincrby对集合中某个元素增加权重分数zrevrank查看元素排名zscore查看元素权重zunionstore sumName 2 set1 set2 weights 1 2合并两个集合排名- 第一个2指合并的集合数目
- weights后面的数字指集合权重的倍数,set1的权重值乘1,set2的权重值乘2
-
HyperLogLog
pfadd增加数量pfmerge合并pfcount计算非重复总量
-
Geo
geoadd增加经纬度坐标geopos获取指定成员坐标georadius获取指定范围内的坐标,中心点由输入的经纬度指定georadiusbymember获取指定范围内的坐标,中心点由Geo集合中的成员指定geodist比较两个坐标点的距离
Redis键管理
dbsize获取Redis中键的个数keys *、scan number获取Redis中的所有键del、unlink删除Redis中的键exists判断一个键是否存在type获取一个键的数据类型rename重命名一个键- 最佳实践:如果目标键已存在,则先unlink再重命名
posted on 2019-06-04 20:31 GaiheiluKamei 阅读(250) 评论(0) 收藏 举报
浙公网安备 33010602011771号