redis之string数据类型常用方法总结
redis 字符串(string)【需要掌握】
特点
- 一个键能存储512MB数据
- string类型是二进制安全的,可以存储任何数据,比如jpg图片或序列化对象
redis字符串数据类型的相关命令用于管理redis字符串值,基本语法如下:
语法
set key values 设置指定 key 的值
127.0.0.1:6379> set name panlifu
OK
127.0.0.1:6379> get name
"panlifu"
get key 获取指定key的值
127.0.0.1:6379> set name panlifu
OK
127.0.0.1:6379> get name
"panlifu"
getrange key start end 返回key中字符串的子字符,类似python中的切片功能,不同在于redis顾头顾尾
127.0.0.1:6379> set name panlifu
OK
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> GETRANGE name 0 3
"panl"
getset key value 将给定key的值设为value,并返回key的旧值(old value)
127.0.0.1:6379> set name panlifu
OK
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> GETRANGE name 0 3
"panl"
127.0.0.1:6379> GETSET name lt
"panlifu"
127.0.0.1:6379> get name
"lt"
getbit key offset 对key所储存的字符串值,获取指定偏移量上的位(bit) ?
setbit key offset value 对key所储存的字符串值,设置或清除指定偏移量上的位(bit) ?
mget key1 [key2...]获取所有(一个或多个)给定key的值
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> set age 24
OK
127.0.0.1:6379> get age
"24"
127.0.0.1:6379> get age name
(error) ERR wrong number of arguments for 'get' command
127.0.0.1:6379> mget name age
1) "panlifu"
2) "24"
127.0.0.1:6379>
setex key secondes value 将值value关联到key,并将key的过期时间设置为secondes(以秒为单位)
# 第一种方法
127.0.0.1:6379> setex name 5 "panlifu"
OK
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> get name
(nil) # 第二种方法
127.0.0.1:6379> set name panlifu ex 6
OK
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> get name
(nil)
setnx key value 只有在key不存在时设置key的值
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> setnx name panlifu
(integer) 1
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> setnx name lt
(integer) 0
127.0.0.1:6379> get name
"panlifu"
setrange key offset value 用value参数覆写给定key所存储的字符串值,从偏移量offset开始
127.0.0.1:6379> set name "hello world"
OK
127.0.0.1:6379> get name
"hello world"
127.0.0.1:6379> SETRANGE name 6 "redis"
(integer) 11
127.0.0.1:6379> get name
"hello redis"mset key value [key value] 同时设置一个或者多个key -value对
127.0.0.1:6379> mset name panlifu age 18
OK
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> get age
"18"msetnx key value [key value] 同时设置一个或者多个key-value对,当且仅当所有给定key都不存在
127.0.0.1:6379> msetnx sex boy height 120
(integer) 1
127.0.0.1:6379> get sex
"boy"
127.0.0.1:6379> get height
"120"
127.0.0.1:6379> msetnx name lt age 17
(integer) 0
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> get age
"18"总结:key前面有m一般都指 可以设置多个 键值对。 键后面带nx 一般表示 只有当key不存在时,才能设置该key。
strlen key 返回 key 所储存的字符串值的长度
127.0.0.1:6379> get name
"panlifu"
127.0.0.1:6379> strlen name
(integer) 7
psetex key milliseconds value 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位
127.0.0.1:6379> psetex name 1000 hehe
OK
127.0.0.1:6379> get name
"hehe"
127.0.0.1:6379> get name
(nil)
总结:当键以ex结尾时,一般表示设置 key的过期时间,单位为秒。当键前面有p且后面有ex时,也表示设置key过期时间,单位为毫秒
incr key 将key中存储的数字值增1
127.0.0.1:6379> set age 19
OK
127.0.0.1:6379> get age
"19"
127.0.0.1:6379> incr age
(integer) 20
127.0.0.1:6379> incr age
(integer) 21
127.0.0.1:6379> get age
"21"
127.0.0.1:6379> set age "19"
OK
127.0.0.1:6379> get age
"19"
127.0.0.1:6379> incr age
(integer) 20
127.0.0.1:6379> incr age
(integer) 21
127.0.0.1:6379> get age
"21"
127.0.0.1:6379> incr age
(integer) 22
127.0.0.1:6379> get age
"22"
127.0.0.1:6379> type age
string
总结:string数据类型中的数据,value的数据类型都是string类型。只要string全为数字,即可使用incr键
incrby key increment 将key所储存的值加上给定的浮点增量值
127.0.0.1:6379> get age
"27"
127.0.0.1:6379> incrby age 3
(integer) 30
127.0.0.1:6379> get age
"30"
incrbyfloat key increment 将 key 所储存的值加上给定的浮点增量值(increment) 。
127.0.0.1:6379> get age
"30"
127.0.0.1:6379> incrbyfloat age 1.5
"31.5"
127.0.0.1:6379> get age
"31.5"
decrby key decrement key 所储存的值减去给定的减量值(decrement)
127.0.0.1:6379> incrbyfloat age -1.5
"30"
127.0.0.1:6379> decrby age 5
(integer) 25
127.0.0.1:6379> get age
"25"
decr key 将 key 中储存的数字值减一。
append key value 果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。
127.0.0.1:6379> get age
"25"
127.0.0.1:6379> append age hehe
(integer) 6
127.0.0.1:6379> get age
"25hehe"
redis之string数据类型常用方法总结的更多相关文章
- Redis学习-string数据类型
Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型.Key-Value 数据库. redis提供五种数据类型string,hash,list,set及sor ...
- Redis 对String数据类型的操作
Redis的 Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字.使用Strings类型,你可以完全实现目前 Memcached 的功能,并且效率更 ...
- redis学习--String数据类型。
本文摘自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/14/2349815.html 一.概述: 字符串类型是Redis中最为基础的数据存 ...
- 二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...
- 5、Redis五大基本数据类型——String类型
一.Redis支持数据类型简介 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 二.String类 ...
- redis有string,hash,list,sets.zsets几种数据类型
1.string数据类型 可包含任何数据,是二进制安全的,比如图片或者序列化的对象set key valueset name hkset age 20get name 得到"hk" ...
- laravel-- 在laravel操作redis数据库的数据类型(string、哈希、无序集合、list链表、有序集合)
安装redis和连接redis数据库 在controller头部引入 一.基本使用 public function RedisdDbOne() { // 清空Redis数据库 Redis::flush ...
- 一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...
- Redis常用五大数据类型
1.String(字符串) string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个red ...
随机推荐
- centos 6.x 启动过程简介(来自老男孩)
- 第三方控件引起的"类型Universe无法解析程序集"的血案
前一阵子在项目中添加了IrisSkin2皮肤控件,今天用VS打开悲剧了. 提示"类型Universe无法解析程序集:System.Design,Version=2.0.0.0,Culture ...
- HDU1540 Turnal Warfare
线段树保存每个区间的左边最大连续长度和右边最大连续长度~ #include<cstdio> #include<cstring> #include<algorithm> ...
- Go语言经典库使用分析——高性能可扩展 HTTP 路由 httprouter(转载)
转载自 飞雪无情的博客 Go语言(golang)的一个很大的优势,就是很容易的开发出网络后台服务,而且性能快,效率高.在开发后端HTTP网络应用服务的时候,我们需要处理很多HTTP的请求访问,比如常见 ...
- Nexus-配置vPC 实验一
配置vPC的步骤:1.配置vPC domain2.配置vPC之间的keepalive link3.配置vPC之间的peer link4.配置vPCs5.确认双方配置一致 拓扑及描述:DC1-N7K-5 ...
- Linux下如何查看tomcat是否启动、查看tomcat启动日志(转)
在Linux系统下,重启Tomcat使用命令的操作! 1.首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh ...
- 【转】ssh 远程执行命令
原文:https://blog.csdn.net/liuxiao723846/article/details/82667482 SSH 是 Linux 下进行远程连接的基本工具,不光可以登录,也可以远 ...
- C/S的接口测试工具
Postman概述: Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果,从而验证响 ...
- iOS 开发之 设计模式【一】原型模式 (Prototype pattern)
原型模式(Prototype pattern): 定义:使用原型实例指定创建对象的种类,并通过复制这个原型创建对象.也可以理解为模板,在创建新对象的时候,按照模板的方法来复制,避免重复造轮子. 简单来 ...
- 常用的OpenCV 2.0函数速查
OpenCV 2.0函数释义列表 1.cvLoadImage:将图像文件加载至内存: 2.cvNamedWindow:在屏幕上创建一个窗口: 3.cvShowImage:在一个已创建好的窗口中显示图像 ...