redis

redis入门

redis是非关系型数据库

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。

不遵循SQL标准。
不支持ACID。
远超于SQL的性能。

NoSQL适用场景

对数据高并发的读写
海量数据的读写
对数据高可扩展性的

 安装教程网上一搜就有的,我的安装方法不一定能适合你的redis安装

注意redis退出服务器要在客户端命令shutdown,不然服务器下次开启不了

数据类型

String


语法:

set key value

设置 key 的值
---------------------------------------------------------

get key

得到 key 的值
---------------------------------------------------------

getrange key start end

返回 key 中字符串值的子字符
---------------------------------------------------------

getset key value

将key 的值设为 value 和返回 key 的旧值
---------------------------------------------------------

mget key1 [key2..]

得到(一个或多个)给定 key 的值
---------------------------------------------------------

key seconds value

将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)--------------------------------------------------------

setnx key value

只有在 key 不存在时设置 key 的值
--------------------------------------------------------

strlen key

返回 key 所储存的字符串值的长度
--------------------------------------------------------

mset key value [key value ...]

同时设置一个或多个 key-value 对
-------------------------------------------------------

msetnx key value [key value ...]

同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
------------------------------------------------------

psetex key milliseconds value

这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位
------------------------------------------------------

incr key

将 key 中储存的数字值增一。
-----------------------------------------------
incrby key increment

将 key 所储存的值加上给定的增量值(increment) 。
------------------------------------------------
incrbyfloat key increment

将 key 所储存的值加上给定的浮点增量值(increment) 
------------------------------------------------
decr key

将 key 中储存的数字值减一
------------------------------------------------
decrby key decrement

key 所储存的值减去给定值(只能操作字符数值)
------------------------------------------------
append key value

若key存在则将value追加到key的末尾上
-----------------------------------------------

Set


sadd key member1 [member2]

向set集合添加一个或多个成员
--------------------------------------------------

scard key

获取集合的成员数
--------------------------------------------------

sismember key member

判断 member 元素是否是集合 key 的成员
--------------------------------------------------

sismembers key

返回集合中的所有成员
--------------------------------------------------
spop key

移除并返回集合中的一个随机元素
--------------------------------------------------

srem key member1 [member2]

移除集合中一个或多个成员
--------------------------------------------------

List


blpop key1 [key2 ] timeout

移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
-------------------------------------------------

brpop key1 [key2 ] timeout

移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
-------------------------------------------------

lindex key index

通过索引获取列表中的元素
-------------------------------------------------

linsert key BEFORE|AFTER pivot value

在列表的元素前或者后插入元素
-------------------------------------------------

llen key

获取list列表长度
-------------------------------------------------

lpop key

移出并获取列表的第一个元素(移除在列表里就没了)
-------------------------------------------------

lpush key value1 [value2]

将一个或多个值插入到列表头部
-------------------------------------------------

lpushx key value

将一个值插入到已存在的列表头部
-------------------------------------------------

lrange key start stop

获取列表指定范围内的元素
-------------------------------------------------

lrem key count value

移除列表元素
-------------------------------------------------

lset key index value

通过索引设置列表元素的值
-------------------------------------------------
14	rpop key

移除列表的最后一个元素,返回值为移除的元素。
-------------------------------------------------

rpush key value1 [value2]

在列表中添加一个或多个值
-------------------------------------------------

rpushx key value

为已存在的列表添加值
-------------------------------------------------

sortSet

zadd key score1 member1 [score2 member2]

向有序集合添加一个或多个成员,或者更新已存在成员的分数
-------------------------------------------------

zcard key

获取有序集合的成员数
------------------------------------------------

zcount key min max

计算在有序集合中指定区间分数的成员数
------------------------------------------------

zincrby key increment member

有序集合中对指定成员的分数加上增量 increment

Hash


hdel key field1 [field2]

删除一个或多个哈希表字段
-------------------------------------------------

hexists key field

查看哈希表 key 中,指定的字段是否存在。
------------------------------------------------

hget key field

获取存储在哈希表中指定字段的值。
-----------------------------------------------

hgetall key

获取在哈希表中指定 key 的所有字段和值
-----------------------------------------------

hincrby key field increment

为哈希表 key 中的指定字段的整数值加上增量 increment
-----------------------------------------------

hincrbyfloat key field increment

为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
----------------------------------------------

hkeys key

获取所有哈希表中的字段
---------------------------------------------

hlen key

获取哈希表中字段的数量
---------------------------------------------
hmget key field1 [field2]

获取所有给定字段的值
---------------------------------------------
hmset key field1 value1 [field2 value2 ]

同时将多个 field-value (-)对设置到哈希表 key 中。
------------------------------------------

hset key field value

将哈希表 key 中的字段 field 的值设为 value 。
-----------------------------------------

hsetnx key field value

只有在字段 field 不存在时,设置哈希表字段的值。
-----------------------------------------
hvals key
获取哈希表中所有值。
--------------------------------------------

springboot操作redis

maven依赖包

  <!--        redis配置-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

        <!-- spring2.X集成redis所需common-pool2-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.6.0</version>
        </dependency>

开发测试步骤:

  • 知道RedisTemplate这个类的使用
这个 类使用@Autowired注入到咱们要使用redis的类中

   @Autowired
   RedisTemplate template;

这个对象有许多的方法讲最基本的使用:

opsForValue() +刚刚说的redis基本数据类型的用法

opsForHash()+同上

opsForList()+同上

opsForSet() +同上

注意这里有一点不一样就是当用opsForValue()存入字符串的时候就会这样

在这里插入图片描述

在这里插入图片描述

 而将它换成StringRedisTemplate则正常显示,这里面涉及了序列化的问题

咱下期再讲,下期再见🥰

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值