Redis字符串类型的常用命令小结_Redis

Redis字符串类型

字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

一、最简单的命令

1、获得符合规则的键名列表

keys *

这里的*号,是指列出所有的键,同时*号也可以替换成其他支持glob风格通配符格式,具体规则如下:

     ?:匹配一个字符

     *:匹配任意个(包括0个)字符

     []:匹配括号间多大任一个字符,可以使用“-”表示范围,如[a-z]

     \x:匹配字符x,用于转义,如需匹配问号,需要\?才能匹配

这里说明一下,redis命令是不区分大小写的,还有就是keys命令是需要遍历Redis中所有的键的,当键很多时,很耗费性能的。所以在生产环境中要尽可能的不用。

例:

redis 127.0.0.1:6379> set name "joan"
OK
redis 127.0.0.1:6379> get name
"joan"
redis 127.0.0.1:6379> set aaa 1
OK
redis 127.0.0.1:6379> set bbb 2
OK
redis 127.0.0.1:6379> keys *
1) "aaa"
2) "name"
3) "bbb"

2、判断键是否存在

exists foo

如果存在返回证书类型1,否则返回0

例:

redis 127.0.0.1:6379> exists name
(integer) 1
redis 127.0.0.1:6379> exists n
(integer) 0

3、删除键

 del foo

返回的是删除的键的个数,这里说明也可以一次删除多个键,只需空格再加键就可以了。例如:

del foo bar

如果删除一个键,这个键已经不存在了就会返回0 。

例:

redis 127.0.0.1:6379> keys *
1) "aaa"
2) "name"
3) "bbb"
redis 127.0.0.1:6379> del aaa bbb
(integer) 2
redis 127.0.0.1:6379> del aaa
(integer) 0

4、获得键值的数据类型

type foo

这里在重复一下上次说过的,redis的数据类型有:string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。

下面开始详细介绍每种数据类型的命令。

二、字符串类型

字符串类型是Redis中最基本的数据类型,他能存储任意形式的字符串,包括二进制数据。字符串类型也是其他四种数据类型的基础。也就是说,其他四种数据类型都是由字符串类型所组成的。

常用命令如下:

     set key value   #赋值,返回值是OK

     get key            #取值,返回值是对应键的值

     incr key          #递增数字,虽然是字符串类型,但如果可以是整型的话,也是可以使用此命令递增的,返回值是递增后的值,递增操作后,再次获取该key值,值为新值。

例:

redis 127.0.0.1:6379> get age
"32"
redis 127.0.0.1:6379> incr age
(integer) 33
redis 127.0.0.1:6379> get age
"33"

incrby key number      #这个命令和上一个类似,只不过可以通过number指定增长的数量,返回值同样是增长后的值

例:

redis 127.0.0.1:6379> incrby age 5
(integer) 38
redis 127.0.0.1:6379> get age
"38"

decr key        #递减数字,类似递增,这里不做过多解释了

decrby key number     #类似于incrby,这里大家应该可以猜到,decrby key number和incrby key -number是一个意思

incrbyfloat key floatnumber     #增加指定浮点数,这个是增加一个双精度的浮点数,位数多了就会不准

append key value      #向尾部追加值,如 append foo ” value”,这个时候用引号是为了标识有空格,返回值为值的总长度

例:

redis 127.0.0.1:6379> append name 'hello'
(integer) 9
redis 127.0.0.1:6379> get name
"joanhello"

strlen key        #获取字符串值总长度,返回值就是长度,如果key不存在,则返回0

mget key [key ...]        #同时获得多个键值,键值的列表

例:

redis 127.0.0.1:6379> mget name age float
1) "joanhello"
2) "38"
3) "33.33"

mset key value [key value ...]     #同时设置多个键值,成功返回OK

redis 127.0.0.1:6379> mset name "joan" age 9 float 33.33
OK
redis 127.0.0.1:6379> mget name age float
1) "joan"
2) "9"
3) "33.33"

setbit/getbit    #这个是位操作,具体示例如下:

redis set foo bar
OK

这时赋值给foo值为bar,对应的ASCII码为98、97、114,转换为八位二进制为:

01100010、01100001、01110010

进行如下操作:

redis> getbit foo 0
0
redis> getbit foo 1
1
redis> getbit foo 2
1
redis> getbit foo 3
0 

所以getbit就是获取key对应的字符串类型键值指定位置的二进制的值(0或1),索引从0开始。

如果获取超出了最大值,也返回0.

而相反,setbit就是来设置key对应的指定位置的二进制值的。返回值是该位置的旧值。例如

redis> setbit foo 6 0
(integer) 1

如果要设置的值超过了最大长度,则命令会将最大长度之后到最大长度之间未设置的值统一设置为0,同理,设置一个不存在的键值,也会自动把它前面所有未设置的位置二进制设为0。如:

redis> setbit qqq 8 1
(integer) 0

则会把qqq对应的值变为00000001 。

bitcount key 命令可以返回字符串类型键值中二进制值为1的个数。

同时他的参数还可以设置查询的范围,

bitcount foo 0 1   #意思是只查询ba两个字节中包含二进制值为1的个数。

最后一个bitop命令,可以进行位操作。

bitop OR res foo1 foo2    #意思是把foo1和foo2做OR运算,结果存入res中。bitop支持的位操作有ND、OR、XOR、NOT四个。

字符串的操作命令就这些了。位的命令还是很有用的,比如我们在存储性别的时候可以把性别的类型设置为一个比特位,这样超级省空间的。

总结

以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索字符串
, redis
, 常用命令
redis常用命令总结
redis 常用命令、redis常用命令总结、redis常用命令大全、redis 运维常用命令、php redis 常用命令,以便于您获取更多的相关知识。

时间: 2024-09-14 05:43:32

Redis字符串类型的常用命令小结_Redis的相关文章

Redis集合类型的常用命令小结_Redis

集合类型介绍 集合类型也是体现redis一个比较高价值的一个类型了.因为Redis的集合类型,所以我们可以很容易的在Redis中执行差集运算.交集运算.并集运算. 首先我们先介绍一下集合类型和列表类型的区别,其实学过面向对象的语言的同学应该都能猜到这些类型有什么不同.      ①集合类型和列表类型还是都能存储2^32-1个字符串      ②集合类型是无序的,列表类型是有序的      ③集合类型是唯一的,列表类型的值是不唯一的 下面我们一起来看一下语法. 1.增加删除元素命令 sadd ke

Redis有序集合类型的常用命令小结_Redis

一.有序集合类型 有序集合类型,大家从名字上应该就可以知道,实际上就是在集合类型上加了个有序而已.Redis中的有序集合类型,实际上是在集合类型上,为每个元素都关联一个分数,有序实际上说的是分数有序,我们根据分数的范围获取集合及其他操作.集合的元素依然是不能够相同的,但是分数可以相同. 下面列举有序集合和类型和列表类型的相似处:       ①两者都是有序的(废话!)       ②两者都可以获得某一范围的元素 下面列举区别:       ①列表是链表实现的,靠近两边的数据读取极快,而元素过多后

Redis中散列类型的常用命令小结_Redis

Redis散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段和字段值的映射,但字段值只能是字符串,不支持其他数据类型,也就是说,散列类型不能嵌套其他的数据类型.一个散列类型键可以包含至多2^32-1个字段. 除了散列类型,Redis的其他数据类型同样不支持数据类型嵌套.比如集合类型的每个元素只能是字符串,不能是一个集合或者散列表等. 散列类型适合存储对象:使用对象类别和ID构成建名,使用字段表示对象的属性,而字段值存储属性值.例

redis常用命令小结_Redis

1.redis-benchmark redis基准信息,redis服务器性能检测 redis-benchmark -h localhost -p 6379 -c 100 -n 100000 100个并发连接,100000个请求,检测host为localhost 端口为6379的redis服务器性能 [root@Architect redis-1.2.6]# redis-benchmark -h localhost -p 6379 -c 100 -n 100000 ====== PING ====

javascript中对Date类型的常用操作小结_基础知识

javascript中对Date类型的常用操作小结 /** 3. * 日期时间脚本库方法列表: 4. * (1)Date.isValiDate:日期合法性验证 5. * (2)Date.isValiTime:时间合法性验证 6. * (3)Date.isValiDateTime:日期和时间合法性验证 7. * (4)Date.prototype.isLeapYear:判断是否闰年 8. * (5)Date.prototype.format:日期格式化 9. * (6)Date.stringToD

MySQL导入导出.sql文件及常用命令小结_Mysql

在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source c:\\test.sql; 另附mysql常用命令: (一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL 首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令mysql -uroot -p,回车后提示你输密码,

MongoDB常用命令小结_MongoDB

MongoDB常用命令: 超级用户相关: use admin #增加或修改用户密码 db.addUser(ixigua,'pwd') #查看用户列表 db.system.users.find() #用户认证 db.auth(ixigua,'pwd') #删除用户 db.removeUser('mongodb') #查看所有用户 show users #查看所有数据库 show dbs #查看所有的collection show collections #查看各collection的状态 db.p

MySQL数据库备份和还原的常用命令小结_Mysql

备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库. mysqldump ---add-drop-table -uusername -ppassword databasename > backupfile.sql 直接将MySQL数据库压缩备份 m

MySQL数据库管理常用命令小结_Mysql

MySQL数据库的管理对数据库来说是至关重要的一个环节,要想懂得MySQL数据库的管理必须从基础做起,只有先知道了数据库管理时使用的命令,实际操作起来就容易很多.下面就是MySQL数据库管理常用命令: 安装利用RPM包安装Mysql,设置TCP 3306端口的iptables. root密码管理设置root用户的密码mysqladmin -uroot password 'password'. 修改root用户的密码mysqladmin -uroot -p password 'password'.