一、常用五大数据类型
string、list、set、hash、zset(有序集合)
二、redis键
linux操作
key * 查看所有库键
exists key 键是否存在
type key 键类型
del key 删键
unlink key 删键 选择非阻塞删除,异步删除
expire key 时间 键过期时间
ttl key 键还有多长时间过期 -1永不过期 -2已过期
select 切换库
dbsize key数量
flushdb 清空当前库
flushall 所有库清空
1.string
set key value 添加数据
get key 得值
append key value 追加值在后面
strlen key 值长度
setnx key value key不存在时才设置成功
incr key 值加一
decr key 值减一
incr/decr key 值 加或减多少值
mset key value 同时设置多个数据
msetnx key value key存在时不成功
getrange/setrange key 起始位置 substring类似作用
2.list
类似双向链表,一个key对应多个值,数据结构quickList,元素少zipList,元素多,zipList连接起来
lpush key value 从左加入在最右边 rpush 相反
lrange key 起始位置 从左获取
lpop/rpop 从左取出值,右边取出值
lrange 0 -1 表示获取所有
lindex key 下标 下标值
llen key 长度
linsert key1 before value value 在键的值的前面加值
lrem key 数值 value 从左边删除
lset key 下标 value 替换
3.set
底层数据结构dict字典,hash表实现
sadd key value 添加多个数据
smembers key 得值
sismember key value 是否存在值 1有0无
scard key 元素个数
srem key value 删除某个元素
spop key 随机取出值
srandmember key 数值 得数值个数值
smove key1 key2 value 一个集合某个值移到另一个集合
sinter 交集
sunion 并集
sdiff 差集 key1中有key2中没有
4.hash
数据结构zipList hashtable
hset user:1001 id 1 user:1001 key id filed 1 value
hget 取
hmset user:1001 id 1 name zs
hexists 是否存在
hvals 获取值
hincrby 值加一
hsetnx key存在不能添加
4.zset
数据结构hash和跳跃表,跳跃表就是给value排序
zadd key 评分 值
zrange key 0 -1 withscores 查询所有并且根据评分排序,并且显示评分
zrangebyscore key min max 在一个范围之间
zrevrangebyscore key max min
zincrby key 值 value score值加50
zrem key value 删除
zcount key min max 统计几个
zrank key value 排名
三、配置
1.把bind注掉
2.把protected-mode no
3.port 6379
4.daemonize no
四、事务
1.multi
开启事务
2.exec
类似于提交事务
3.discard
类似于回滚事务
4.事务特性
单独的隔离操作
没有隔离级别的概念
不保证原子性(失败的不执行,其余的都正常执行)