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 ... 
随机推荐
- iOS 开发之 SDWebImage 底层实现原理分析
			SDWebImage 是一个比较流行的用于网络图片缓存的第三方类库.这个类库提供了一个支持缓存的图片下载器.为了方便操作者调用,它提供了很多 UI 组件的类别,例如:UIImageView.UIBut ... 
- Shiro入门学习与实战(一)
			一.概述 1.Shiro是什么? Apache Shiro是java 的一个安全框架,主要提供:认证.授权.加密.会话管理.与Web集成.缓存等功能,其不依赖于Spring即可使用: Spring S ... 
- 【Go语言系列】1.1、GO语言简介:什么是GO语言
			一.Go的起源 Go语言的所有设计者都说,设计Go语言是因为 C++ 给他们带来了挫败感.在 Google I/O 2012 的 Go 设计小组见面会上,Rob Pike 是这样说的: 我们做了大量的 ... 
- Kubernetes的控制器之Deployment的定义
			Deploy 的控制器定义参数介绍 [root@master manifests]# kubectl explain deploy KIND: Deployment VERSION: extensio ... 
- 全排列next_permutation()用法和构造函数赋值
			全排列next_permutation()用法 在头文件aglorithm里 就是1~n数组的现在的字典序到最大的字典序的依次增加.(最多可以是n!种情况) int a[n]; do{ }while( ... 
- dp-简单迷宫捡金币
			链接:https://ac.nowcoder.com/acm/challenge/terminal 吃货LP参加了珠海美食节,每见一家摊位都会大吃一顿,但是如果不加收敛,接下来的日子就只能吃土了,所以 ... 
- 解决:使用 swiper 自动轮播图片,当拖动过 swiper 内的内容时,导致不继续自动轮播
			版本为1.3 当使用了 swiper 后: var mySwiper = new Swiper('.banner .swiper-container', { autoplay: 3000, loop: ... 
- pip使用技巧
			1. pip install 'easydict==1.6' --force-reinstall 强制安装制定version 2. pip install git+https://github.com ... 
- 使用python实现离散时间傅里叶变换
			以下内容引用链接:https://blog.csdn.net/baidu_37352210/article/details/79596633 (注意:通过如下内容可知,将序列信号进行傅里叶变换后,得到 ... 
- 「学习笔记」FFT 快速傅里叶变换
			目录 「学习笔记」FFT 快速傅里叶变换 啥是 FFT 呀?它可以干什么? 必备芝士 点值表示 复数 傅立叶正变换 傅里叶逆变换 FFT 的代码实现 还会有的 NTT 和三模数 NTT... 「学习笔 ... 
