1.redis安装目录下找到并打开redis-server.exe:redis服务端
2. edis安装目录下找到并打开redis-client.exe:redis客户端
3. redis配置
Config get * : 获取redis所有配置
(1).redis监听端口
Port 6379
(2).绑定的主机地址
Bind 127.0.0.1
(3).闲置多少时间后关闭
timeout 300
(4).redis 日志级别,支持debug、verbose、notice、warning
Loglevel notice
(5).指示在多长时间内,有多少次更新从操作,就将数据同步的数据文本
Redis配置文件提供了三个条件
Save 900 1 :15分钟1次
Save 300 10 :5分钟10次
Save 60 10000 :1分钟10000次
(6).数据库的数量
Databases 16
(7).指示存储至本地数据库时是否压缩数据,默认是yes,redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选择,但会导致数据库文件变得巨大
Rdbcompression yes
(8).指示本地数据库文件名,默认值为dump.rdb
Dbfilename dump.rdb
(9).指示本地数据库存放目录
Dir ./
(10).设置redis连接密码,客户端在连接redis时需要通过auth <password> 进行连接,默认关闭
Requirepass <空字符串> :不开启密码
Requirepass <password> :开启密码
(11).指示是否在每次更新后进行日志记录,redis默认下是异步的把数据写入磁盘,如果不开启,可能在断电时导致一段时间内的数据丢失。Always、everysec、no默认为no
Appendonly no
4. Key命令
keys | 获取所有的key | keys pattern |
del | 删除指定的键 | del <key> [<key2>..] |
exists | 判断键是否存在 | exists <key> |
move | 移动一个键到另一个库中 | move <key> <db> |
rename | 给键重新命名 | rename <key> <newKey> |
renamenx | 给键重新命名,当新名存在时不操作 | Renameenx <oldkey> <newKey> |
persist | 将key持久化 | persist <key> |
expire | 设置键的存活时间 | expire <key> <timestamp> |
expireat | 设置key的存活时间 时间戳 | expireat <key> <timestamp> |
ttl | 实时查看键的剩余存活时间 | ttl <key> |
pttl | 查看键的剩余存活时间(毫秒) | pttl <key> |
randomkey | 随机返回一个key | randomkey |
type | 返回键中的值类型 | type <key> |
5. Redis字符串(String)
(1) .set <key> <value> :设置指定key的值
get <key> :获取key中字符串值的子字符
Getbit <key> <offset> :获取指定偏移量上的位
Getrange <key> <start> <end> :获取key中的子字符串
(2).mget <key1> [<key2>]... :获取多个key的值
(3).setex <key> <seconds> <value> :设置会过期的键
10秒内访问键有效,10后过期(被清除)
(4).setnx <key> <value> :当key不存在时设置key的值
当判断键已经存在时,不会重新设值
(5).strlen <key> :获取键的值长度
(6).msetnx <key1> <value1> [<key2> <value2>]... 同时设置多个key-value
(7).incr <key> :将键的数字值增加1
Decr <key> :将键的数字值减少1
Incrby <key> <increment> :将键的数字值增加给定增量
decrby <key> <increment> :将键的数字值减少给定增量
(8).append <key> <value> :将value追加到key原来的值的末尾
6. Redis哈希(Hash)
Redis Hash 是一个String类型的field和value的映射值,hash特别适合用于储存对象
常用命令如下:
hmset <key> <field1> <value1> [<field2> <value2>]...
Hkeys <key> :获取键中的所有字段
Hlen <key> :获取字段的数量
Hget <key> <field> :获取键中某个字段的值
Hmget <key> <field1> [<field2>]... :同时获取多个字段的值
HgetAll <key> :获取键的所有字段和值
Hset <key> <field> <value> :设置单个字段的值
Hsetnx <key> <field> <value> :当键不存在时,设置单个字段的值
Hvals <key> :获取所有字段的值
7. Redis列表
lpush | rpush <key> <value1> [<value2>]... :在首部或尾部添加key-value
Llen <key> :获取列表的长度
Lindex <key> <index> :通过索引获取列表中的元素
Lrange <key> <start> <stop> :获取指定范围内的元素
Lpop | rpop <key> :移除并获取列表第一个或最后一个元素
Ltrim <key> <start> <stop> :移除索引范围外的元素
8. Redis集合
(1).Sadd <key> <member1> [<member2>]... :向集合添加成员
Scard <key> :获取集合的成员数
Smembers <key> :遍历集合中的成员
Sismember <key> <member> 判断集合中是否存在某个成员
Srem <key> <member> [<member2>]... :删除指定成员
Srandmember <key>:随机获取一个成员
spop <key> :随机移除并获取一个成员
(2).
sdiff <key> [<key1>]... :获取集合的差集
sinter <key> [<key1>]... :获取合的交集
sunion <key> [<key1>]... :获取集合并集
9. Redis有序集合
Zadd <key> <score1> <member1> [<score2> <member2>]... :向有序集合中添加成员或更新已经存在的成员的分数
Zcard <key> 获取成员的数量
Zincrby <key> <increment> <member> :给成员增加指定分数
Zrangebyscore <key> <min> <max> :从低到高遍历指定分数之间的成员
Zrevrangebyscore <key> <max> <min> :从高到底遍历指定分数之间的成员
Zrevrange <key> <start> <stop> :遍历指定索引之间的成员及分数
Zrevrank <key> <member> :获取指定成员的下标
Zrank <kye> <member> :返回成员分数从小到大排序后的下标
Zscore <key> <member> :获取指定成员的分数
Zrem <key> <member> [member2]... :移除有序集合中的成员
Zremrangebyrank <key> <start> <stop> :删除排名区间的所有成员
Zremrangebyscore <key> <min> <max>:删除指定分数之间的成员
10.订阅发布
(1).匹配符*,任意字符
(2).psubscribe <pattern> [<pattern2>]... :订阅符合给定模式的频道
(3).subscribe <channel> [<channel>]... :订阅一个或多个频道
(4).publish <channel> <message> :将信息(message)发送到指定的频道(channel)
(5).punsubscribe [<pattern>]... :告知客户端退订频道的给定模式,如果没有给模式,则退订所有
(6).publish [<channel>]... :告知客户端退订的频道,如果没有给频道,则退订所有
(7).pubsub <channels> [<pattern>] :列出当前活跃频道(至少有一个订阅者的频道)
11.事务
Discard :取消事务,放弃执行事务块内的命令
Exec :执行所有事务块内的命令
Multl :标记一个事务的开始
Unwatch :取消Watch命令对所有key的监视
Watch <key1> [<key2>]... :监视一个或多个key,如果在事务执行之前这个key被其他命令所改动,那么事务将被打断