redis 基础

Redis 键值的操作

keys * 查看当前数据库中所有的key值

exists key值判断某个key是否存在

type key值 查看key值的类型

del key值 删除指定key  (unlink ley会异步删除)

expire key值 10 (时间秒为单位)    10秒时间:指定过期时间

ttl key值  查看过期时间 -1表示永不过期 ,-2表示已过期

select index 切换数据库

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

flushdb 清空当前库

flushall 清空全部库

·String(字符串)

String类型是二进制安全的string可以包含任何数据,比如图片或者序列化对象

1个Redis 字符串value值最多是512M

Redis Value操作

get key值 取到对应key值的value值

append key值 value值 在原来value的末尾添加上新的value值 执行后会返回一个当前字符串长度

strlen key值 得到key值对应的value长度

setnx key值 value值  如果没有对应的key值就设置成功 有就会设置失败

incr key值 将key中储存的数字加一  只能对数字值操作 如果为空,新增值为1

decr key值 将key值中储存的value值减一

incrby/decrby key值 步长 将key中储存的数字值增减,自定义步长

mset  key值 value值 key值value值 设置多个key-value的值

mget key值 key值 获取多个value值

msetnx key值 value值 key值 value值  这个必须满足key值不存在 一个存储失败全部失败 (原子性)

getrange key值 start end 截取 从start到end位置的字符串

setrange key值 start value值 从start开始设置值 会覆盖之前的

setex key值 过期时间 value值 设置key-value并且指定过期时间

getset key值 value值 以新换旧 设置新值同时获取旧值

·LIst(列表)

单键多值

redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部或者尾部。

底层实际是一个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差

list 操作

lpush key value1 value2 value3 ````  添加一个列表往左边放 之前的往右移

rpush key value1 value2 value3 ```` 添加一个列表往右边放 之前的往左移

lpop/rpop key 从左边/右边取出一个值 值在键在 ,值亡键亡

rpoplpush key1 key2 从key1的右边吐出一个值,插到key2列表的左边 

lrange key start stop 按照索引下标获得元素(从左到右)

lindex key index 取到指定索引的值

llen key 获取列表长度

linset key before/after value newvalue 在value的值 之前/之后加入newvalue

lrem key n value 删除指定的值

lset key index value 替换指定索引的值

set集合

set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择

sadd key value1 value1 value2 ··· 添加值

sismember key value 表示key中是否存在value值,有则返回1,没有返回0

scard  key 返回集合的元素个数

smembers key 取出改集合的所有值

srem key value1 value2 ····删除集合中的某些元素

spop key 随机吐出集合中的一个值

srandmember key n 随机从集合中取出n个值,不会从集合中删除

smove source distination value 把一个(source )集合的值移除带另一个集合(distination

sinter key1 key2  返回2个集合的交集 

sunion key1 key2 返回2个集合的并集

sdiff key1 key2 返回2个集合的差集元素(key1 中包含,key2中不包含)

hash哈希

hash是一个键值对集合。

hash是一个string类型的field和value的映射表,hash特别适合存储对象

类似java中的map<String,Object>

hash操作

hset key field value  给key集合中的field 键赋值 value

hget key1 field 从key1集合field取出 value

hmset key1 field1 value1 field2 value2 批量设置hash值

hexists key1 field 查看哈希表key中,给定域field是否存在

hkeys key 列出该hash集合的所有field

hvals key 列出该hash集合的所有value

hincrby key field increment(步长) 为哈希表key中的域field 的值加一或减一 步长为负就是减

hsetnx key field value 将哈希表key中的域field的值设置为value,当且仅当域field不存在

Zset有序集合

redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合

不同之处时有序集合的每一个成员都关联了一个评分,这个评分被用来按照从最低分到最高分的方式排序集合的成员。集合的成员是唯一的,但是评分可以重复了。

应为元素是有序的,所以你可以恒快的根据评分或者次序来获取一个范围的元素

访问有序集合的中间元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表。

zset操作

zadd key1 score1 value1 score2 value2 score3 value3 添加集合

zrange key start stop 查询 

zrange key start end start stop withscores 查询值和评分

zrangebyscore jey min max [withscore]  按评分查询 从小到大

zrevrangebyscore key min max  按评分查询 从大到小

zincrby key incrment value   为元素(value )的score加上incrment

zcount key min max 统计该集合,分数区间内的元素个数

zrank key value 返回该值在集合中的排名,从0开始

zrem key value 删除该集下,指定的元素

对于学习Redis基础知识,可以按照以下思路进行学习: 1. 了解Redis的概念和特点:首先需要了解Redis是什么,它的主要特点是什么,它为什么被广泛应用于缓存、消息队列、会话管理等场景。 2. 安装和配置Redis:根据你的操作系统,安装Redis并进行相关配置。可以参考Redis官方文档或其他教程来完成这一步。 3. 学习Redis的数据结构:Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集合等。了解每种数据结构的特点、用途和操作命令,并通过实际操作来加深理解。 4. 掌握Redis的常用命令:学习Redis的常用命令,如get、set、hget、hset、lpush、lrange、sadd、smembers等,了解每个命令的具体用法和参数含义。 5. 理解Redis的持久化机制:了解Redis的RDB和AOF两种持久化方式,以及它们的优缺点。学习如何进行备份和恢复数据。 6. 学习Redis的事务和Lua脚本:了解Redis事务的基本概念和使用方法,以及如何使用Lua脚本来进行复杂的操作。 7. 深入了解Redis的性能优化和高可用方案:学习如何优化Redis的性能,包括配置调优、使用合适的数据结构、合理地使用缓存等。同时了解Redis的高可用方案,如主从复制、哨兵模式和集群模式。 8. 学习Redis与其他技术的结合:了解Redis如何与其他技术进行结合,如与Python、Java等编程语言的配合使用,以及与Spring、Django等框架的整合。 以上是学习Redis基础知识的一个思路,你可以根据自己的实际情况和需求进行学习和拓展。推荐参考一些经典的Redis教程和实战案例,通过实际操作和项目实践来提升自己的技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值