在 macOS 上安装 Redis
brew --version
安装
brew install redis
在前台启动和停止 Redis
redis-server
如果成功,您将看到 Redis 的启动日志,并且 Redis 将在前台运行。
使用 launchd 启动和停止 Redis
作为在前台运行 Redis 的替代方案,您还可以使用launchd在后台启动进程:
brew services start redis
这将启动 Redis 并在登录时重新启动它。您可以launchd通过运行以下命令检查托管 Redis 的状态:
brew services info redis
如果服务正在运行,您将看到如下输出:
redis (homebrew.mxcl.redis)
Running: ✔
Loaded: ✔
User: miranda
PID: 67975
要停止服务,请运行:
brew services stop redis
连接到 Redis
Redis 运行后,您可以运行以下命令对其进行测试redis-cli:
redis-cli
这将打开 Redis REPL。尝试运行一些命令:
127.0.0.1:6379> lpush demos redis-macOS-demo
OK
127.0.0.1:6379> rpop demos
"redis-macOS-demo"
服务开启后
redis-cli 快速连接redis服务器
keys * 展示目前存贮的键
type s1 查看key存贮值的类型
del s1 删除该元素
rename s1 s999 给键换名字
quit 断开连接redis
ping 测试连接 看到pong
redis-cli -h 127.0.1 -p 1234 指定域名端口号
info 查看服务器运行状态 info server简洁版
set s1 1 设置一个s1的值
select 18 选择数据库 默认redis创建了0-15号也就是16个数据库
move s2 1 移动一个数据到另一个数据库
flushall 清空所有数据库的所有数据
flushdb 清空当前数据库的所有数据
Redis 常用的数据类型
| 类型 | 类型说明 |
|---|---|
| String | 字符串是其他数据类型的基础类型。 |
| Hash | 散列,是由与值相关联的字段组成的内容,字段和值都是字符串。 类似于js对象。 |
| List | 列表,根据插入顺序排列的字符串元素集合。 |
| Set | 为排序的字符串元素集合,集合中的数据是不重复的。 |
| ZSet | 与Set相似,但每个字符串元素都与一个数值的相关联。且按数值大小进行排序。 |
| ...... | ...... |
字符串 String
set key value 设置一个字符串值
set key "new-value" 修改一个字符串值
get key 获取一个key的值
getrange key 0 3 获取一个字符串中子字符串 包含0位和3位
exists key 检查key是不是存在
mget keys 根据key获取多个值
strlen key 获取字符串长度
incr key 将key中储存的数字+1
decr key 将key中储存的值-1
incrbyfloat key increment 将 key 所储存的值加上给定的浮点增量值(increment) 。
incrby key increment 将 key 所储存的值加上给定的增量值(increment) 。
decrby key decrement将 key 所储存的值减去给定的增量值(increment) 。
append key value 如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。
setnx key value 只有key不存在时设置它的值。
setbit key offset value 对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
哈希Hash
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
hmset runoobkey keys values 创建一个哈希表 给定一些key
hdel key field1 [field2] 删除一个或多个哈希表字段
hget key field 获取存储在哈希表中指定字段的值。
hexists key field 查看哈希表 key 中,指定的字段是否存在。
hgetall key 获取在哈希表中指定 key 的所有字段和值
hincrby key field increment 为哈希表 key 中的指定字段的整数值加上增量 increment 。
hkeys key 获取所有哈希表中的字段
hincrbyfloat key field increment 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
hlen key 获取哈希表中字段的数量
hmget key field1 [field2] 获取所有给定字段的值
hmset key field1 value1 [field2 value2] 同时将多个 field-value (域-值)对设置到哈希表 key 中。
hset key field value 将哈希表 key 中的字段 field 的值设为 value 。
hsethx key field value 只有在字段 field 不存在时,设置哈希表字段的值。
havls key 获取哈希表中所有值。
hscan key cursor [MATCH pattern] [COUNT count] 迭代哈希表中的键值对。
列表List
lpush l1 66 88 99 创建列表
lrange l1 开始位置 结束位置 获取值
linsert l1 before||afert 88 44 before代表在88之前插入44 after代表之后 添加列表值
lindex l1 index 拿到当前位置的值
llen l1 获取列表长度
lpop l1 从前面获取第一个元素 删除这个元素
rpop l1 从后面获取第一个元素 删除这个元素
集合Set
sadd s1 11 22 33 创建集合
smembers s1 查看集合元素
scard s1 获取集合长度
srandmember s1 1 随机获取集合中的一个值 第三个值为随机获取的数量
srem s1 11 删除集合中的元素
spop s1 1 随机删除元素
有序集合ZSet
zadd z1 key value key value 创建一个有序集合
zrange z1 start stop 返回区间内的成员 从低到高进行排序 start stop是下标
zrevrange z1 start stop 返回区间内的成员 从高到低进行排序 withscores 第三个参数 显示值
zrank z1 u2 从小到大获取一个值的排名 具体的排名从0开始
zreveank z1 u4 从大到获取一个值的排名 具体的排名从0开始
zcard z1 获取集合元素数量
zincrby z1 1 u2 让某一个值增加多少
zrem z1 u2 删除一个元素
默认redis开启了安全模式不让连接
安全模式下的密码连接
config get requirepass 查看安全模式
config set requirepass root 设置密码为root
redis-cli -a root 连接redis
修改redis配置
找到redis的配置问价 修改他的requirepass 为我们的root密码