Redis的String操作
set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如: set a 1 ex 10 , 10秒有效 Set a 1 px 9000 , 9秒有效 注: 如果ex,px同时写,以后面的有效期为准 如 set a 1 ex 100 px 9000, 实际有效期是9000毫秒 nx: 表示key不存在时,执行操作 xx: 表示key存在时,执行操作 127.0.0.1:6379> set site www.so.com OK 127.0.0.1:6379> set site www.baidu.com nx (nil) 127.0.0.1:6379> get site "www.so.com" 127.0.0.1:6379> set site www.google.com xx OK 127.0.0.1:6379> get site "www.google.com"
mset multi set , 一次性设置多个键值 例: mset key1 v1 key2 v2 .... get key 作用:获取key的值 mget key1 key2 ..keyn 作用:获取多个key的值 127.0.0.1:6379> mset a aman b bold c controller OK 127.0.0.1:6379> keys * 1) "a" 2) "c" 3) "b" 127.0.0.1:6379> get a "aman" 127.0.0.1:6379> get b "bold" 127.0.0.1:6379> get c "controller" 127.0.0.1:6379> mget a b c 1) "aman" 2) "bold" 3) "controller"
setrange key offset value 作用:把字符串的offset偏移字节,改成value 127.0.0.1:6379> set word hello OK 127.0.0.1:6379> get word "hello"
0 | 1 | 2 | 3 | 4 |
h | e | l | l | o |
127.0.0.1:6379> setrange word 2 ?? (integer) 5 127.0.0.1:6379> get word "he??o"
注意: 如果偏移量>字符长度, 该字符自动补0x00
127.0.0.1:6379> set word hello
OK
127.0.0.1:6379> get word
"hello"
127.0.0.1:6379> setrange word 6 !
(integer) 7
127.0.0.1:6379> get word
"hello\x00!"
append key value 作用: 把value追加到key的原值上 127.0.0.1:6379> get word "hello\x00!" 127.0.0.1:6379> append word @@ (integer) 9 127.0.0.1:6379> get word "hello\x00!@@"
getrange key start stop 作用: 是获取字符串中 [start, stop]范围的值 注意: 对于字符串的下标,左数从0开始,右数从-1开始 127.0.0.1:6379> set area chinese OK 127.0.0.1:6379> getrange area 1 4 "hine"
-7 | -6 | -5 | -4 | -3 | -2 | -1 |
w | o | r | k | i | n | g |
127.0.0.1:6379> set status working OK 127.0.0.1:6379> get status "working" 127.0.0.1:6379> getrange status 0 -4 "work"
注意:
1: start>=length, 则返回空字符串
2: stop>=length,则截取至字符结尾
3: 如果start 所处位置在stop右边, 返回空字符串
getset key newvalue 作用: 获取并返回旧值,设置新值 127.0.0.1:6379> set status sleep OK 127.0.0.1:6379> getset status wakeup "sleep" 127.0.0.1:6379> get status "wakeup"
incr key 作用: 指定的key的值加1,并返回加1后的值 注意: 1:不存在的key当成0,再incr操作 2: 范围为64有符号 decr key 作用: 指定的key的值减1,并返回减1后的值 incrby key number decrby key number 127.0.0.1:6379> set age 29 OK 127.0.0.1:6379> incr age (integer) 30 127.0.0.1:6379> decr age (integer) 29 127.0.0.1:6379> incrby age 5 (integer) 34 127.0.0.1:6379> incrby age 5 (integer) 39 127.0.0.1:6379> decrby age 10 (integer) 29
setbit key offset value 设置offset对应二进制位上的值 返回: 该位上的旧值可实现大小写转换
A | 65 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
a | 97 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
127.0.0.1:6379> set char A OK 127.0.0.1:6379> get char "A" 127.0.0.1:6379> setbit char 2 1 (integer) 0 127.0.0.1:6379> get char "a" 127.0.0.1:6379> set char B OK 127.0.0.1:6379> get char "B" 127.0.0.1:6379> setbit char 2 1 (integer) 0 127.0.0.1:6379> get char "b"
Redis的String操作的更多相关文章
- python操作redis之String操作
# __author__ = 'STEVEN' import redis,time # 方式1,直接链接操作 # r = redis.Redis(host='192.168.43.22',port=6 ...
- (二)Redis字符串String操作
String全部命令如下: set key value # 设置一个key的value值 get key # 获取key的value值 mset key1 value1 key2 value2 ... ...
- redis对string进行的相关操作
redis对string类型操作的相关命令以及如何在python使用这些命令 redis对string类型操作的命令: 命令 语法 概述 返回值 Redis SET 命令 set key value ...
- 缓存数据库-redis数据类型和操作(string)
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合) 一:String(字符串) string是redis ...
- PHP操作redis之String(字符串)、List(列表)(一)
Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key – value 缓存产品有以下三个特点: Redis支持数据的持久 ...
- Python操作redis字符串(String)详解 (三)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1.SET 命令用于设置 ...
- redis的String类型以及其操作
Redis的数据类型 String类型以及操作 String是最简单的数据类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或 ...
- Redis一(Redis-py与String操作)
Redis 介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...
- Redis源码之String操作
0.前言 String操作是Redis操作中最基本的类型,包含get,set,mget,mset,append等等.下面我们会具体分析下一些命令的详细流程,特么简单的命令没有列出. 1.SET命令 2 ...
随机推荐
- Sqrt(x)
Implement int sqrt(int x). Compute and return the square root of x. 参考:http://standalone.iteye.com/b ...
- pxe+preseed安装配置(2)
1.tftp使用独立daemon,这样不用再安装xinet, apt-get install tftp-hpa tftpd-hpa cat /etc/default/tftpd-hpa TFTP_US ...
- Chapter 3 Discovering Classes and Object
Chatper 3 Discovering Classes and Object Exercises: 1.What is a class? A class is a template for man ...
- 简述负载均衡&CDN技术
曾经见到知乎上有人问“为什么像facebook这类的网站需要上千个工程师维护?”,下面的回答多种多样,但总结起来就是:一个高性能的web系统需要从无数个角度去考虑他,大到服务器的布局,小到软件中某个文 ...
- map线程
来看看map线程到底是如何运行的 很早就知道一个map是一个线程,以后有可能改成一个map一个进程,那就先来看看一个map一个线程是如何运作的 其实刚开始整个服务器就是两个线程,但发现这样服务器支持的 ...
- 华农js抢课神器
又到了华农选课的时候,服务器估计就受不了,每天奔溃几次,这次选课贪心了点,竟然选了5门,好吧,我承认我只中了1门,什么??刚刚换课给同学马上就被人抢了?我来告诉你原因吧,最近发现一位大神写了一份js脚 ...
- AngularJs学习笔记--directive
原版地址:http://code.angularjs.org/1.0.2/docs/guide/directive Directive是教HTML玩一些新把戏的途径.在DOM编译期间,directiv ...
- HDOJ 1028 Ignatius and the Princess III (母函数)
Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- 编写更好的CSS
编写好的CSS代码能提升页面的渲染速度.本质上,一条规则都没有引擎解析的最快.MDN上将CSS选择符归拆分成四个主要类别,如下所示,性能依次降低. ID 规则 Class 规则 标签规则 通用规则 对 ...
- Codeforces 475D CGCDSSQ(分治)
题意:给你一个序列a[i],对于每个询问xi,求出有多少个(l,r)对使得gcd(al,al+1...ar)=xi. 表面上是询问,其实只要处理出每个可能的gcd有多少个就好了,当左端点固定的时候,随 ...