Redis

1 安装与启动
1.1 编译安装
# 下载安装包
https://download.redis.io/releases/

# 解压后编译
tar -zxvf 包名
cd 解压后文件夹
make
1.2 启动
# 解压文件夹下
# 修改配置支持后台启动
vim redis.conf
修改 daemonize yes

# 解压文件夹/src/
# 启动服务
./redis-server ../redis.conf

# 连接
./redis-cli

# 关闭单实例服务
shutdown
2 操作
2.1 key操作
# 操作具有原子性,redis是单线程+多路IO复用,redis执行命令是单线程,IO多线程部分只用在网络数据读写和协议解析,默认没有开启

# 查看所有key
keys *

# 设置值
set key value

# 查看值
get key

# 查看类型
type key

# 删除key
del key
unlink key   # 非阻塞删除

# 设置过期时间
expire key time

# 查看过期时间
ttl key   # -2已过期,-1永不过期

# 查看当前数据库的key数量
dbsize

# 切换数据库,默认0号库
select 数据库

# 清空当前库
flushdb

# 清空全部库
fulshall
2.2 数据类型
2.2.1 字符串类型
# 一个value值最多512M
# 数据结构为简单动态字符串,最大长度为512M。字符串长度小于1M时,加倍扩容,超过1M时,每次扩容增加1M

# 设置值
set key value

# 获取值
get key

# 追加值
append key value

# 获取值的长度
strlen key

# 仅在key不存在时设置值
setnx key value

# 将key中存储的数字值增加1
incr key

# 将key中存储的数字值减少1
decr key

# 增减固定值
incrby key num
decrby key num

# 设置多个值
mset key1 value1 key2 value2 ...

# 设置多个值,任何一个存在,设置不成功
msetnx key1 value1 key2 value2 ...

# 获取多个值
mget key1 key2 key3

# 获取值范围的值
getrange key start end    # getrange test 0 3  相当于test[0:4]

# 覆盖值,从指定位开始,替换长度和value相同的值
setrange key start value

# 设置过期时间
setex key time value   # set t1 10 1   # 设置值为1,过期时间为10s

# 以新值换旧值
getset key newvalue   # 获取了旧值,并覆盖了旧值
2.2.2 list
# 单键多值
# 值的数据结构是快速链表(双向链表),多块连续的内存(压缩列表之间)使用指针相连,相当于数组加指针,数组与数组之间加指针相连。两端操作性能高,索引下标操作中间性能不高

# 从左边/右边插入一个或多个值
lpush key v1 v2 ..   # 相当于依次 insert(0, v)
rpush key v1 v2 ..   # 相当于依次 append(v)

# 从左边/右边取出值,值取光键销毁
lpop key
rpop key

# 查看值
lrange key start end 
# 查看全部值
lrange key 0 -1

# 从key1键右边取1个值放到key2的左边
rpoplpush key1 key2

# 获取指定位置值
lindex key index

# 查看列表长度
llen key

# 在第一个value前/后面插入值
linsert key before value newvalue
linsert key after value newvalue

# 从左边删除n个指定value
lrem key n value

# 替换指定下标的值
lset key index value
2.2.3 set
# 自动去重,string类型的集合,无序
# 数据结构是字典,用哈希表实现,HashSet内部实现是HashMap,所有value指向同一个对象

# 设置或添加
sadd key value1 value2 ..

# 查看
smembers key

# 判断集合中是否包含指定值
sismembe
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值