Redis简介
Redis是一个开源免费的、使用C语言编写的NoSQL 数据库。Redis基于内存运行并支持持久化(RDB、AOF方式将数据保存在磁盘),采用key-value (键值对)的存储形式。
Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
string 是 redis 最基本的类型,可以包含任何数据。
Redis hash 是一个键值对(key=>value)集合(字典)。
List(列表)简单的字符串列表,按照插入顺序排序。
Set 是 string 类型的无序集合,值不能重复。
zset(有序集合)是 string 类型的有序集合,值不能重复。
Redis安装
安装redis
# 下载redis压缩包
wget https://download.redis.io/releases/redis-6.2.10.tar.gz
# 解压压缩包
tar -zxvf redis-6.2.10.tar.gz
# 将解压的redis目录移动到/user/local目录
mv redis-6.2.10 /usr/local/redis
# 进入redis目录
cd /usr/local/redis
# 安装redis依赖tcl
yum install -y tcl
# 编译
make
# 编译安装
make install
修改redis配置文件
vim redis.conf
# 注释75行,bind指的是只有指定的网段才能远程访问这个redis
#bind 127.0.0.1 -::1
# 修改94行,protected-mode修改为no,允许远程连接
protected-mode no
# 修改259行,daemonize修改为yes(需要在后台运行)
daemonize yes
启动redis,开放6379端口号
# redis指定配置文件启动
./src/redis-server ./redis.conf
# 开放redis默认端口号6379
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重启防火墙
systemctl restart firewalld
Redis常用命令
redis-cli #进入redis
redis-cli -h host -p port -a password #连接其他服务器上的redis,密码为空的话不要加-a参数
keys * #查看key,*查看所有,?匹配一个字符
string(字符串命令)
set key value 设置指定key的value
get key 获取指定key的value
mset key1 value1 key2 value2 同时设置一个或多个key-value对
mget key1 key2 key3 获取一个或多个key的value
append key value 追加,将指定的value追加到key原来value的末尾
del key 删除key
hash命令
hset key field value 存放指定key的field和value值
hgetall key 获取在哈希表中指定key的所有字段和值
hkeys key 获取所有哈希表中的字段
hvals key获取哈希表中所有的值
hget key field 获取存储在哈希表中指定字段的值
hdel key filed1 field2 删除一个或多个哈希表字段
list(列表)
lpush key value1 value2 新建列表 or 将一个或多个值插入到列表的头部
lrange key 0 -1 获取指定范围内的元素
lset key index value 通过索引(下标)设置列表元素的值
lrem key count value 移除列表中的元素,count>0:从左往右删除count个value,count<0:从右往左删除count个value,count=0删除所有和value相同的值
lpop key 移出并获取列表的第一个元素,返回值为移除的元素
rpop key 移除列表的最后一个一个元素,返回值为移除的元素
rpush key value1 value2 在列表中添加一个或多个值
set集合
sadd key member1 member2 向集合添加一个或多个成员
smembers key 返回集合中的所有成员
srem key member1 member2 移除集合内member1、member2两位成员
spop key count 移除并返回集合中的count个随机元素
zset有序集合
zadd key score1 member1 向有序集合添加一个或多个成员
zrange key 0 -1 查看指定范围的成员(0 -1所有值)
zrem key member1 member2 移除集合内member1、member2两位成员
其它命令
info 查看当前redis信息
shutdown 关闭redis服务
select 1 切换到1库
flushdb 清除当前数据库数据
flushall 清除所有数据库数据
expire key 10 设置key 10秒后失效
ttl key 查看过期时间
persist key 取消过期时间