文章目录
redis安装
下载地址:http://redis.io/download
# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
# tar xzf redis-6.0.8.tar.gz
# cd redis-6.0.8
# make
# cd src
# ./redis-server
# 也可以通过启动参数告诉 redis 使用指定配置文件使用下面命令启动
# cd src
# ./redis-server ../redis.conf
Redis 配置
Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)
查看配置
# 语法
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
# 实例
redis 127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
# 使用 * 号获取所有配置项:
redis 127.0.0.1:6379> CONFIG GET *
编辑配置
# 语法
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
# 实例
redis 127.0.0.1:6379> CONFIG SET loglevel "notice"
OK
redis连接命令
客户端登陆
# 语法
redis-cli -h host -p port -a password
# 实例
redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379> AUTH "password" # 验证密码是否正确
OK
redis 127.0.0.1:6379> PING
PONG
QUIT # 关闭当前连接
SELECT index # 切换到指定的数据库
设置密码
# 我们可以通过以下命令查看是否设置了密码验证
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) ""
CONFIG set requirepass "runoob" # 设置密码
CONFIG get requirepass # 得到密码
# 实例
127.0.0.1:6379> AUTH "runoob"
OK
127.0.0.1:6379> SET mykey "Test value"
OK
127.0.0.1:6379> GET mykey
"Test value"
Redis 键
# 语法
COMMAND KEY_NAME
# 实例
SET runoobkey redis
DEL runoobkey
EXISTS key
PEXPIRE key milliseconds # 设置过期
TTL key # 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
TYPE key # 返回 key 所储存的值的类型
# 还有很多,需要查询文档
Redis 字符串(String)
SET runoobkey redis
GET runoobkey
INCR key # 将 key 中储存的数字值增一。
DECR key # 将 key 中储存的数字值减一。
Redis 哈希(Hash)
HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
HGETALL runoobkey
HDEL key field1 [field2] # 删除一个或多个哈希表字段
HEXISTS key field # 查看哈希表 key 中,指定的字段是否存在。
HGET key field # 获取存储在哈希表中指定字段的值。
HSET key field value # 将哈希表 key 中的字段 field 的值设为 value 。
Redis 列表(List)
LPUSH runoobkey redis
LPUSH runoobkey mongodb
LPUSH runoobkey mysql
LRANGE runoobkey 0 10
LLEN key # 获取列表长度
LPOP key # 移出并获取列表的第一个元素
LPUSH key value1 [value2] # 将一个或多个值插入到列表头部
RPOP key # 移除列表的最后一个元素,返回值为移除的元素
Redis 集合(Set)
SADD runoobkey redis
SADD runoobkey mongodb
SADD runoobkey mysql
SMEMBERS runoobkey
SADD key member1 [member2] # 向集合添加一个或多个成员
SCARD key # 获取集合的成员数
SDIFF key1 [key2] # 返回第一个集合与其他集合之间的差异。
SINTER key1 [key2] # 返回给定所有集合的交集
SPOP key # 移除并返回集合中的一个随机元素
Redis 有序集合(sorted set)
ZADD runoobkey 1 redis
ZRANGE runoobkey 0 10 WITHSCORES
ZADD key score1 member1 [score2 member2] # 向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZCARD key # ZCARD key
ZCOUNT key min max # 计算在有序集合中指定区间分数的成员数
ZSCORE key member # 返回有序集中,成员的分数值
Redis 事务
并不具备原子性,收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行
# 实例
redis 127.0.0.1:6379> MULTI
OK
redis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days"
QUEUED
redis 127.0.0.1:6379> GET book-name
QUEUED
redis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series"
QUEUED
redis 127.0.0.1:6379> SMEMBERS tag
QUEUED
redis 127.0.0.1:6379> EXEC
1) OK
2) "Mastering C++ in 21 days"
3) (integer) 3
4) 1) "Mastering Series"
2) "C++"
3) "Programming"