您现在的位置是:主页 > news > 银川网站开发推广企业/产品推广运营方案

银川网站开发推广企业/产品推广运营方案

admin2025/5/30 6:03:57news

简介银川网站开发推广企业,产品推广运营方案,无锡网站制作计划,无锡做app的公司有哪些Redis 字符串命令 下表列出了常用的 redis 字符串命令: 序号命令及描述1SET key value 设置指定 key 的值2GET key 获取指定 key 的值。3GETRANGE key start end 返回 key 中字符串值的子字符4GETSET key value将给定 key 的值设为 value ,并返回 key 的…

银川网站开发推广企业,产品推广运营方案,无锡网站制作计划,无锡做app的公司有哪些Redis 字符串命令 下表列出了常用的 redis 字符串命令: 序号命令及描述1SET key value 设置指定 key 的值2GET key 获取指定 key 的值。3GETRANGE key start end 返回 key 中字符串值的子字符4GETSET key value将给定 key 的值设为 value ,并返回 key 的…

Redis 字符串命令

下表列出了常用的 redis 字符串命令:

 

序号命令及描述
1SET key value 
设置指定 key 的值
2GET key 
获取指定 key 的值。
3GETRANGE key start end 
返回 key 中字符串值的子字符
4GETSET key value
将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
5GETBIT key offset
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
6MGET key1 [key2..]
获取所有(一个或多个)给定 key 的值。
7SETBIT key offset value
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
8SETEX key seconds value
将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
9SETNX key value
只有在 key 不存在时设置 key 的值。
10SETRANGE key offset value
用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
11STRLEN key
返回 key 所储存的字符串值的长度。
12MSET key value [key value ...]
同时设置一个或多个 key-value 对。
13MSETNX key value [key value ...] 
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
14PSETEX key milliseconds value
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
15INCR key
将 key 中储存的数字值增一。
16INCRBY key increment
将 key 所储存的值加上给定的增量值(increment) 。
17INCRBYFLOAT key increment
将 key 所储存的值加上给定的浮点增量值(increment) 。
18DECR key
将 key 中储存的数字值减一。
19DECRBY key decrement
key 所储存的值减去给定的减量值(decrement) 。
20APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。

测试了常用的命令

[root@iZbp143t3oxhfc3ar7jey0Z redis-4.0.12]# redis-cli
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> set key1 value1
OK
127.0.0.1:6379> get key1
"value1"
127.0.0.1:6379> MSET s1 v1 s1 v2
OK
127.0.0.1:6379> mget s1 key1
1) "v2"
2) "value1"
127.0.0.1:6379> STRLEN s1
(integer) 2
127.0.0.1:6379> APPEND s1 aabbcc
(integer) 8
127.0.0.1:6379> get s1
"v2aabbcc"
127.0.0.1:6379> incr s1
(error) ERR value is not an integer or out of range
127.0.0.1:6379> set num 1
OK
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> incr num
(integer) 3
127.0.0.1:6379> get num
"3"
127.0.0.1:6379> help INCRBYINCRBY key incrementsummary: Increment the integer value of a key by the given amountsince: 1.0.0group: string127.0.0.1:6379> SETEX t1 20 v2
OK
127.0.0.1:6379> get t1
"v2"
127.0.0.1:6379> get t1
(nil)
127.0.0.1:6379>

 

说几个String类型常用的场景

1.可以当自增主键,具有原子性

  • string在redis内部存储默认就是一个字符串,当遇到增减类操作incr, decr时会转成数值型进行计算。
  • redis所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发带来的数据影响。
  • 注意: 按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis 数值上限范围,将报错。9223372036854775807( java中long型数据最大值, Long.MAX_VALUE)

适用:

  • redis用于控制数据库表主键id,为数据库表主键提供生成策略,保障数据库表的主键唯一性
  • 此方案适用于所有数据库,且支持数据库集群

2.时效性

“最强女生”启动海选投票,只能通过微信投票,每个微信号每 4 小时只能投1票。
电商商家开启热门商品推荐,热门商品不能一直处于热门期,每种商品热门期维持3天, 3天后自动取消热门。

127.0.0.1:6379> SETEX t1 20 v2
OK
127.0.0.1:6379> get t1
"v2"
127.0.0.1:6379> get t1
(nil)
127.0.0.1:6379>

 

如果发现存在redis中,则无法进行操作 

3.存储信息

 

 

在redis中为大V用户设定用户信息,以用户主键和属性值作为key,后台设定定时刷新策略即可

eg: user:id:3506728370:fans → 12210947
eg: user:id:3506728370:blogs → 6164
eg: user:id:3506728370:focuss → 83

在redis中以json格式存储大V用户信息,定时刷新(也可以使用hash类型)
eg: user:id:3506728370 →

{"id":3506728370,"name":"春晚","fans":12210862,"blogs":6164, "focus":83}

注:上面2种各有优缺点,第一种改的方便,第二个查的方便

redis应用于各种结构型和非结构型高热度数据访问加速 

 

 

 4.注意事项

  • string 类型数据操作的注意事项

          ① 表示运行结果是否成功
              (integer) 0 → false 失败
              (integer) 1 → true 成功
         ② 表示运行结果值
              (integer) 3 → 3 3个
              (integer) 1 → 1 1个

  • 数据未获取到

            ( nil)等同于null

  • 数据最大存储量

              512MB

  • 数值计算最大范围( java中的long的最大值)

              9223372036854775807