小贝_redis string类型学习

RedisString类型

一、查看string类型的命令

二、操作string例子

一、查看string类型的命令

1、打开redis客户端,输入help

127.0.0.1:6379>help

redis-cli2.8.19

Type:"help @<group>" to get a list of commands in <group>

"help <command>" for helpon <command>

"help <tab>" to get a listof possible help topics

"quit" to exit

备注: help是帮助命令,

2、输入 [email protected]

127.0.0.1:6379>help @string

APPEND key value

summary: Append a value to a key

since: 2.0.0

BITCOUNT key [start] [end]

summary: Count set bits in a string

since: 2.6.0

BITOP operation destkey key [key ...]

summary: Perform bitwise operations betweenstrings

since: 2.6.0

……..

备注: 由于篇幅太大,因此省略一些。

二、操作string例子

1、string类型命令说明


命令名称


说明


格式


set


将字符串值value关联到key。如果key已经持有其他值,SET就覆写旧值,无视类型


set key value


get


返回key所关联的字符串值。如果key不存在则返回特殊值nil


get key


setnx


将key的值设为value,当且仅当key不存在。若给定的key已经存在,则SETNX不做任何动作


setnx key value


setex


将值value关联到key,并将key的生存时间设为seconds(以秒为单位)。


setex key seconds value


setrange


用value参数覆写(Overwrite)给定key所储存的字符串值,从偏移量offset开始。不存在的key当作空白字符串处理


setrange key offset value


mset


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

当发现同名的key存在时,MSET会用新值覆盖旧值


mset key value [key value ...]


mget


返回多个key所关联的字符串值。如果key不存在则返回特殊值nil


mget key1 key2 …


append


如果key已经存在并且是一个字符串,append命令将value追加到key原来的值之后。如果key不存在,append就简单地将给定key设为value,就像执行set key value一样


append key value


msetnx


同时设置一个或多个key-value对,当且仅当key不存在。即使只有一个key已存在,msetnx也会拒绝所有传入key的设置操作


msetnx key value [key value ...]


getrange


返回key中字符串值的子字符串,字符串的截取范围由start和end两个偏移量决定(包括start和end在内)。负数偏移量表示从字符串最后开始计数,-1表示最后一个字符,-2表示倒数第二个,以此类推


getrange key start end


getset


将给定key的值设为value,并返回key的旧值。当key存在但不是字符串类型时,返回一个错误


getset key value


strlen


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

当key储存的不是字符串值时,返回一个错误


strlen key


decr


将key中储存的数字值减一。如果key不存在,以0为key的初始值,然后执行decr操作


decr key


decrby


将key所储存的值减去减量decrement。如果key不存在,以0为key的初始值,然后执行decrby操作


decrby key decrement


incr


将key中储存的数字值加一。如果key不存在,以0为key的初始值,然后执行incr操作


incr key


incrby


将key所储存的值加上增量increment。如果key不存在,以0为key的初始值,然后执行incrby操作


incrby key increment

2、单个字符串操作

2.1、设置key为name,其值为xiaobei

127.0.0.1:6379> setname xiaobei

OK

2.2、获取key为name的值

127.0.0.1:6379> get name

"xiaobei"

2.3、获取key为name的字符长度

127.0.0.1:6379>strlen name

(integer) 7

2.4、向key为name,追加 字符’is good.’

127.0.0.1:6379>append name ‘ is good‘

(integer) 15

127.0.0.1:6379>get name

"xiaobeiis good"

2.5、对key为name中的good,替换为great

127.0.0.1:6379>setrange name 11 great

(integer) 16

127.0.0.1:6379>get name

"xiaobeiis great"

3、批量设置多个字符

3.1、分别设置key为name,age ,其值分别对应xiaobei,24

127.0.0.1:6379>mset name xiaobei age 24

OK

3.2、获取key为name和age的值

127.0.0.1:6379>mget name age

1)"xiaobei"

2)"24"

4、自增或自减操作

4.1、自增操作

127.0.0.1:6379>incr c

(integer) 1

127.0.0.1:6379>get c

"1"

127.0.0.1:6379>incr c

(integer) 2

127.0.0.1:6379>get c

"2"

4.2、自减操作

127.0.0.1:6379>decr c

(integer) 1

127.0.0.1:6379>get c

"1"

127.0.0.1:6379>decr c

(integer) 0

127.0.0.1:6379>get c

"0"

4.3、按10进行自增

127.0.0.1:6379>incrby c 10

(integer) 10

127.0.0.1:6379>get c

"10"

127.0.0.1:6379>incrby c 10

(integer) 20

127.0.0.1:6379>get c

"20"

4.4、按10进行自减

127.0.0.1:6379>decrby c 10

(integer) 10

127.0.0.1:6379>get c

"10"

127.0.0.1:6379>decrby c 10

(integer) 0

127.0.0.1:6379>get c

"0"

5、常见错误

5.1、自增或自减只能针对 数字字符串的key或未存在的key

127.0.0.1:6379>set name ‘1‘

OK

127.0.0.1:6379>get name

"1"

127.0.0.1:6379>incr name

(integer)2

127.0.0.1:6379>set name ‘xiaobei‘

OK

127.0.0.1:6379>get name

"xiaobei"

127.0.0.1:6379>incr name

(error)ERR value is not an integer or out of range

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-11 05:03:44

小贝_redis string类型学习的相关文章

小贝_redis list类型学习

redis  list类型 一.查看list类型的命令 二.list命令具体解释 一.查看list类型的命令 1.在终端数据 help @list 127.0.0.1:6379>help @list BLPOP key [key ...] timeout summary: Remove and get the first element ina list, or block until one is ava ilable since: 2.0.0 BRPOP key [key ...] time

小贝_redis hash类型学习

Redis  Hash类型 一.查看hash类型的命令 二.操作hash命令具体解释 一.查看hash类型的命令 1.输入 [email protected] 127.0.0.1:6379>help @hash HDEL key field [field ...] summary: Delete one or more hash fields since: 2.0.0 HEXISTS key field summary: Determine if a hash field exists sinc

小贝_redis set/zset类型学习

redis  set.zset类型 一.集合类型 二.查看set.zset集合类型命令 三.set.zset集合类型实例 一.集合类型 1.redis的集合类型,分为两种,即有序和无序. 2.既然是集合类型,因此也要满足集合的特性即 a.集合的确定性: 组成集合的元素的性质必须明确,不允许有模棱两可.含混不清的情况 b.集合的互异性: 对于一个给定的集合,集合中的元素是互异的",就是说,"对于一个给定的集合,它的任何两个元素都是不同的 c.集合的无序性: 指表示一个集合时,构成这个集合

小贝_redis key键值学习

redis 一般(key)类型 一.什么是一般key类型 二.查看一般类型命令 三.一般类型的使用例子 一.一般类型 从generic这个单词直译出来,因此叫一般类型or属性类型.redis是一个key-value的数据库,因此这里可以理解为是针对key的操作说明 二.查看一般类型命令 127.0.0.1:6379> help @generic DELkey [key ...] summary: Delete a key since: 1.0.0 DUMP key summary: Return

小贝_redis学习目标

redis学习目标 一.Nosql介绍 二.redis介绍 三.redis适用场合 四.redis的学习目标 一.Nosql介绍 Nosql(Nosql=Not Only SQL),意为反sql运动,它指的是非关系数据库. Nosql是以key-value的形式进行存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循sql标准.acid标准.表结构等等,这类数据库主要有以下的特点: 非关系型的.分布式的.开源的.水平可拓展的. Nosql有这些特点: a.处理超大量的

小贝_redis 高级应用-事务

redis高级应用-事务 一.redis的事务 二.redis实现事务 三.redis事务问题 一.redis的事务 事务提供了一种"将多个命令打包,然后一次性.按顺序地执行"的机制, 并且事务在执行的期间不会主动中断 -- 服务器在执行完事务中的所有命令之后, 才会继续处理其他客户端的其他命令. 二.redis实现事务 redis 通过 multi .disacrd.exec 和 watch四个命令来实现事务功能 1.redis事务简单例子 127.0.0.1:6379> mu

小贝_redis高级应用-发布与订阅

redis高级应用-发布与订阅 一.发布与订阅(pub/sub)功能 二.发布与订阅(pub/sub)机制 三.redis发布与订阅(pub/sub)的实现 一.发布与订阅(pub/sub)功能 Pub/Sub功能(meansPublish, Subscribe)即发布及订阅功能.基于事件的系统中,Pub/Sub是目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件:发布者(如服务

小贝_mysql view视图学习

view视图 简要: 1.视图定义 2.创建视图 3.视图与表的关系 4.视图种类 一.视图定义 视图起因: 查询每个栏目最贵的商品=> selectgoods_id,goods_name,shop_price from goods order by cat_id asc,shop_price desc; 查询结果,当成一张表看 如果某个查询结果出现的非常频繁,也就是说,拿这个结果进行子查询出现的非常频繁. createtable g2 like goods;insert into g2 sel

小贝_php+redis类型组合使用

php_redis类型组合使用 一.类型组合说明 经过前面的文章介绍,已经知道redis有字符串.集合.列表.hash等内置数据类型. 这里以,无序集合为例,进行说明. 集合 set1的简图 1.从简图中可以看到 set1含有四个元素分别为 A.B.C.D 2.根据之前的理解,集合的元素为是个单一的类型.一般的都是字符串类型.那么,如果集合的元素是其它的类型呢?如list.hash或是集合呢?redis是否也支持? 二.验证类型组合使用 1.源码例子 2.例子中,集合type1,存放则一个元素,