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 ...
随机推荐
- 【MySQL】数据类型之字符相关
" 目录 字符类型 char类型 varchar类型 实测 总结 枚举类型与集合类型 字符类型 官网:https://dev.mysql.com/doc/refman/5.7/en/char ...
- SpringCloud全家桶学习之概览(一)
一.概览 根据百度百科的描述,微服务架构是一项在云中部署应用和服务的新技术.而SpringCloud是微服务架构思想的一个具体实现,它为开发人员提供了构建分布式系统中一些常见模式的工具(服务注册与发现 ...
- pip install cv2 安装报错
pip install cv2 安装报错是一个常见现象: ERROR: Could not find a version that satisfies the requirement cv2 (fro ...
- https://www.cnblogs.com/chanshuyi/p/alibaba_review_3_level.html
https://www.cnblogs.com/chanshuyi/p/alibaba_review_3_level.html http://www.cnblogs.com/skywang12345/ ...
- 新建maven工程运行出现Intellij idea 报错:Error : java 不支持发行版本5
Step1点击: 点击 保持一致: Step2点击 这样就可以了. 主要是运行时jdk版本不一致的问题
- 5种JVM调优配置方法概览!!!
本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...
- EasyUI tree的三种选中状态
EasyUI中tree有三种选中状态,分别是checked(选中).unchecked(未选中).indeterminate(部分选中). 其中indeterminate状态比较特殊,主要表示只有部分 ...
- C:sizeof 运算符
sizeof不是函数,所以不需要包含任何头文件,它的功能是计算一个数据类型的大小,单位为字节 sizeof的返回值为size_t size_t类型在32位操作系统下是unsigned int,是一个无 ...
- Vue——手机号、验证码登录(设置按钮60s禁用倒计时)
最近在做一个Vue项目,前端通过手机号.验证码登录,获取验证码按钮需要设置60s倒计时(点击一次后,一分钟内不得再次点击).先看一下效果图: 输入正确格式的手机号码后,“获取验证码”按钮方可点击:点击 ...
- NOIP2016换教室 BZOJ 4720
BZOJ 4720 换教室 题目描述: 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程.在可以选择的课程中,有2n节 课程安排在n个时间段上.在第i(1≤i≤n)个时间段上 ...