小蚂蚁学习Redis笔记(3)——Redis数据类型之string类型

昨天安装完毕,今天终于可以进入正题了。

Redis中string类型的常用命令:

string是最简单的类型,一个key对应一个value,string类型是二进制安全的类型,Redis的string可以包含任何数据,比如:图片或者序列化的对象。

1.    set    设置一对键值

格式:set    键    值        例如:set     name    "allen"

含义:添加一个键值对。

值得注意的是,这个命令在设置重复的key时,value是会覆盖的。它的作用是如果键不存在就添加这个键,如果存在就覆盖,会返回OK。

2.    setnx    设置一对键值(键如果重复,不会覆盖)

格式:setnx    键    值        例如:setnx    name1    “john”

含义:此命令在设置键的时候,会判断这个键是否存在,如果不存在,就创建这个键值,返回1,如果存在,不会更新原值,返回0。区别于set。

3.    setex    设置一对键值,并指定有效时间

格式:setex    键    时间    值    例如:setex    name2    10    “frank”

含义:设置一个key对应的值为string类型的value,并且指定此键值对应的有效期。

注意:在有效期内,能够返回值,超出有效期,只能返回空(nil)。如果key相同,该命令会覆盖上一个key的值。

另外:不设置有效期,代表永久生效。

4.    setrange    设置指定key的value值的子字符串

这个需要上例子了:

127.0.0.1:6379> set email "[email protected]"

OK

127.0.0.1:6379> setrange email 6 "php"

(integer) 18

127.0.0.1:6379> get email

"[email protected]"

从例子中可以看到,从下标为6的字符开始,被“php”这三个字符给替换掉了,但是后面没有替换的部分还在。替换成功会返回替换成功之后的总长度。

5.    mset    批量设置键值对

格式:mset    key1 value1 key2 value2 key3 value3……

含义:一次性设置多个key的值,成功返回OK,表示所有的值都设置了;失败返回0,表示没有任何值被设置。

注意:m代表批量的意思,后面还有很多批量的操作。

6.    msetnx    批量设置键值对,但是不会覆盖相同key的值。

格式:msetnx    key1 value1 key2 value2 key3 value3……

含义:一次设置多个key的值,成功返回1,表示所有值都已经被设置;失败返回0,表示没有任何值被设置。但!是!它不会覆盖已经存在的key。区别于:mset

7.    get    返回一个键的值

格式:get    name    将会返回来那么的值。如果键不存在,返回空(nil)

8.    getset    设置key的值,并且返回key的旧值

直接上例子:

127.0.0.1:6379> get name1

"aaa"

127.0.0.1:6379> getset name1 bbb

"aaa"

127.0.0.1:6379> get name1

"bbb"

例子很明了了,name1的原来值是aaa,然后用getset赋值了一个bbb,返回的是原来值aaa。事实上已经赋予了新值。

9.    getrange    获取key的value值的子字符串

格式:getrange    email    0    5

含义:把键名为email的值,从第0个字符到第5个字符返回。例如:

127.0.0.1:6379> getrange email 0 5

"[email protected]"

10.    mget    批量获取值

格式:mget    key1    key2    key3    key4    ……

含义:批量获取值,存在返回值,不存在返回空(nil)

11.    incr    对key的值做递增操作

格式:incr    num

含义:对键名为num的值,每次递增1。

注意:如果num的值不是int类型,会报错:(error) ERR value is not an integer or out of range

12.    incrby    同上,加上指定值

格式:incrby    key    数字

含义:对key的值按照指定的数字递增。

注意:正数,递增;负数,递减。

13.    decr    递减操作

格式:decr    key

含义:对key的值每次递减1。

14.    decrby    按照指定值递减

格式:decrby    key    数字

含义:按照指定的值,每次递减

注意:正数,递减;负数,递增。

PS:incrby 和 decrby    正好相反。

15.    append    追加value

格式:append    key    值

含义:为key的值的末尾,在加上指定的值。返回的是新字符串的长度。

16.    strlen    获取字符串的长度

格式:strlen    key

含义:返回key值的长度。如果key存在,就返回长度。key不存在,返回0。这个函数和php的一样。

爱玛,打字累的指头疼,昨天双11,犒劳自己买了个机械键盘,希望快快来    o(*≧▽≦)ツ┏━┓

学PHP的小蚂蚁 原创博客 http://my.oschina.net/woshixiaomayi/blog

时间: 2024-12-27 14:38:09

小蚂蚁学习Redis笔记(3)——Redis数据类型之string类型的相关文章

Redis (非关系型数据库) 数据类型 之 String类型

Redis 一个内存数据库,通过 Key-Value 键值对的的方式存储数据.由于 Redis 的数据都存储在内存中,所以访问速度非常快,因此 Redis 大量用于缓存系统,存储热点数据,可以极大的提高网站的响应速度. Redis通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型. String 子串类型 常用基本操作 1.set  键  值     # -----

Redis学习笔记(三)-数据类型之string类型

string是redis最基本的类型,而且string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象.从内部实现来看其实string可以看作byte数组,最大上限是1G字节.下面是string类型的定义. struct sdshdr {  long len;  long free;  char buf[]; }; buf是个char数组用于存贮实际的字符串内容.其实char和c#中的byte是等价的,都是一个字节.len是buf数组的长度,fr

学习笔记之基本数据类型-包装类-String之间的转换

基本类型              包装类                String类 int->Integer   :             Integer构造器 Integer-> int  :   Integer.intValue()方法 int -> String  :  Integer.toString方法,String.valueof()方法 String -> int  :  Integer.parseInt()方法 Integer -> String :

Python学习-------变量和简单的数据类型(String)

1.变量命名和使用 变量命名规则:a.变量名只能包含(字母    数字   下划线),且变量不能以数字开头,例如:变量 s_1(正确),变量1_s(错误) b.变量名不能包含空格,可以使用下划线来间隔 c.变量不能以关键字和函数名来命名,例如:print d.变量名应该简短而且具有标识性.(看见变量名就知道其大概表示啥) e.避免使用容易混淆的字母和数字,例如0和1,O和I  (代码量很大的的时候,这种小错误不容易发现,尽量不要给自己挖坑) 2.简单数据类型 String字符串:python中使

Redis的6种数据类型

Redis支持六种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)和基数(HyperLogLog). String(字符串) string 是 redis 最基本的类型,一个 key 对应一个 value. string 类型是二进制安全的.意思是 redis 的 string 可以包含任何数据.比如jpg图片或者序列化的对象. string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 5

(一)Redis笔记——简介 、key 、数据类型

1.  Redis是什么.特点.优势 Redis是一个开源的使用C语言编写.开源.支持网络.可基于内存亦可持久化的日志型.高性能的Key-Value数据库,并提供多种语言的API. 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String).哈希(Map). 列表(list).集合(sets) 和 有序集合(sorted sets)等类型. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的

「Redis 笔记」数据类型

REmote DIctionary Server(Redis),一个 key-value 存储系统. 数据类型 Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). string string 类型是二进制安全的.意思是 redis 的 string 可以包含任何数据.比如 jpg 图片或者序列化的对象. string 类型是 Redis 最基本的数据类型,一个键最大能存储 512MB. 相关命令:

C# 数据类型之 String(字符串)

?  前言 在开发中最常见的数据类型就是 String 类型,即字符串类型.为什么要单独讨论下这个类型,是因为:它是系统内置的基础数据类型:它的使用频率非常高:它是一个特殊的引用类型.其实大家都会使用它,但可能或多或少了解不够全面,本文主要是抱着:学习.巩固.总结的目的去加深对它的了解,主要学习一下几点: 1.   什么是 string 类型 2.   创建 string 对象的方式 3.   String 的常用静态方法 4.   string 的常用实例方法 5.   string 的常用扩

java 基本数据类型、包装类和String类型之间的转换

一.基本数据类型转换为String类型 1.  数值类型:有两种api可供使用,Integer.toString() 和 String.valueof(). 2.字符类型 String.valueof(),   Integer.toSring(). 二.String类型转换为基本数据类型 1.数值类型 int类型为: Integer.parseInt() byte类型为 : Byte.parseByte() 其他类型以此类推 2.字符类型 String.charAt() 可以取任意位置的字符.