redis 学习(3)-- String 类型 String-结构 结构:Key-Value对 Value:可以是字符串.数字,也可以是二进制数组 限制:Value最大值为512MB String-常用命令 命令 含义 get key 获取指定 key 的值 set key value 设置指定 key 的值 incr key 将 key 中存储的数字值增一 incrby key increment 将 key 所存储的数字值加上给定的增量 decr key 将 key 中存储的数字值减一 de…
--------------------- 作者:愤怒的小明 来源:CSDN 原文:https://blog.csdn.net/qiwenmingshiwo/article/details/78118541 Redis学习03存储字符串String一Redis的5种数据类型二String说明三赋值四取值五删除六数值增七数值减八数值加上某个值九数值减去某个值十拼接字符串Redis学习03——存储字符串(String)一.Redis的5种数据类型Redis是一种高级的 key-value 的存储系统…
redis 学习(6)-- 集合类型 set 结构 无序 无重复 集合间操作 set 集合内操作 命令 含义 sadd key memebr1 [member2...] 向集合中添加一个或多个成员 srem key member1 [member2...] 从集合中删除一个或多个成员 scard key 获取集合中的元素个数 sismember key member 判断member元素是不是集合的成员 srandmember key count 随机从集合中取出count个成员 spop ke…
redis 学习(5)-- 列表类型 列表特点 有序.可以重复.左右两边插入弹出 索引相关知识 索引从左往右,从0开始逐个增大 0 1 2 3 4 5 索引从右往左,从-1开始逐个减小 -6 -5 -4 -3 -2 -1 重要 API 命令 含义 rpush key value1 [value2...] 在列表后侧添加一个或多个值 lpush key value1 [value2...] 在列表左侧添加一个或多个值 linsert key before/after value newValue…
# -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete DEL 命令用于删除已存在的键.不存在的 key 会被忽略 ', '4028b2883d3f5a8b013d57228d760a93') #set 设置指定 key 的值, 如果设置正确返回 True ') # 得到 键为1 的值 4028b2883d3f5a8b013d57228d760a93 ') #…
*cb19a_c++_只适合string类型的操作_提取_追加_替换三个substr重载函数-获取一个字符串的一部分六个append重载函数-追加字符十个replace重载函数-替换更换 重载函数越多,使用起来越灵活 欢迎讨论,相互学习. txwtech@163.com /*cb19a_c++_只适合string类型的操作_提取_追加_替换 三个substr重载函数-获取一个字符串的一部分 六个append重载函数-追加字符 十个replace重载函数-替换更换 重载函数越多,使用起来越灵活 欢…
Strings类型 String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象. Strings类型的操作: Set:设置Key对应的值为string类型的Value.如果多次对同一个Key进行Set操作,值会被覆盖. 如: 127.0.0.1:6379>set username anny OK 127.0.0.1:6379>get username "anny" Setnx:设置Key对应的值为…
  Redis 有 string.list.set.zset.hash数据类型.string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习redis非常必要. APPEND:向键的值后面追加字符串,并且返回追加后的值长度 []> get hello "world" []> APPEND hello wonderful (integer) []> get hello "worldwonderful&qu…
一.概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的Value最多可以容纳的数据长度是512M. 二.相关命令 1.赋值命令 命令原型:SET key value 时间复杂度:O(1) 命令描述:设定该Key持有指定的字符串Value,如果该Key已经存在,则覆盖其原有值. 返回值:总是返回"OK". 2.取值命令 命令原型:GET key…
package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.util.List; /** * Created by Administrator on…
*redisclient使用: =============一类:string的方法================ 介绍:string是redis的最简单类型,一个key相应一个value,string类型是二进制安全的. redis的string能够包括不论什么数据.比方jpg图片或者序列化的对象 1:一个key仅仅包括一个value值,当设置同样值时=会覆盖 设置值:set name leyangjun 获取值:get name 2:setnx:(会推断设置的值是否存在,不存在则设置) 设置…
1 引言 Redis作为基于内存的非关系型的K-V数据库.因读写响应快速.原子操作.提供了多种数据类型String.List.Hash.Set.Sorted Set.在项目中有着广泛的使用,今天我们来探讨下下Redis的数据结构是如何实现的. 2 数据存储 2.1 RedisDB Redis将数据存储在redisDb中,默认0~15共16个db.每个库都是独立的空间,不必担心key冲突问题,可通过select命令切换db.集群模式使用db0 typedef struct redisDb { di…
package cn.itcast_02; /* * String s = new String(“hello”)和String s = “hello”;的区别? * 有.前者会创建2个对象,后者创建1个对象. * * ==:比较引用类型比较的是地址值是否相同 * equals:比较引用类型默认也是比较地址值是否相同,而String类重写了equals()方法,比较的是内容是否相同. */ public class StringDemo2 { public static void main(St…
1. String类型面试题: package cn.itcast_02; /* * String s = new String(“hello”)和String s = “hello”;的区别? * 有.前者会创建2个对象,后者创建1个对象. * * ==:比较引用类型比较的是地址值是否相同 * equals:比较引用类型默认也是比较地址值是否相同,而String类重写了equals()方法,比较的是内容是否相同. */ public class StringDemo2 { public sta…
1.查询所有key: keys * 2.*通用符(代表0或多),查询所有以n(*)开头的key: keys n* 3.?通用符(代表1个字符): key n? 4.del删除key [key1 key2 ...]: del key [ke1 key2 ...] 5.exists判断key是否存在(1: 存在, 9: 不存在): exists key 6.get key获取元素值(只能对string类型操作): get key 7.rename 对key重命名: rename key new_ke…
SET 作用: 设置key对应的值, 返回ok 语法: SET key value [EX seconds] [PX milliseconds] [NX] [XX] 如果key已经存在,同名会产生覆盖 EX设置过期时间,秒为单位 PX设置过期时间,毫秒为单位 NX在键不存在的时候, 才能设置 XX在键已经存在的时候,才可以设置 GET 作用: 获取key对应的值, 返回key对应的值 语法: GET key 当获取一个不存在的key时,会返回nil 如果key不是字符串类型,会报错 GETSET…
Redis的List是一个双向链表 LPUSH 作用:向列表左端添加元素 语法:LPUSH key value value... 从左到右逐个添加到左端,前面的先添加, 可以一次添加多个元素 RPUSH 作用:向列表右端添加元素 语法:RPUSH key value, value... LPUSHX 作用: 向列表左端添加元素,只有key存在才可以添加 语法:LPUSH key value 一次只能添加一个元素 RPUSHX 作用: 向列表右端添加元素,只有key存在才可以添加 语法:RPUSH…
SADD 作用:向集合中添加元素 语法:SADD key menber [, ...] 添加重复的元素会返回0,失败 SMEMBERS 作用:返回指定集合中的元素 语法: SMEMBERS key SISMEMBER 作用: 检测value是否是集合中的元素 语法:SISMEMBER key value SREM 作用:删除集合中的元素 语法: SREM key value 成功返回删除元素的个数,失败返回0 SPOP 作用: 删除集合中的随机元素,并返回删除的元素 语法: SPOP key S…
ZADD 作用: 将元素及其分数添加到集合中 语法: ZADD key score membre [score member] 当集合元素已经存在时,再次添加会更新其分数 当score是 +inf 时, 分数是正无穷 当score是 -inf 时,分数是负无穷 ZSCORE 作用:获得指定成员的分数 语法:ZSCORE key value 元素不存在,返回nil ZRANGE 作用: 按照分数从小到大的顺序返回指定索引start到stop之间的元素,参数WITHSCORES指定显示分数 语法:…
HSET 作用: 将哈希表key中的域field设置成指定的value 语法:HSET key field value HSET userinfo name 'zhangsan' HSET userinfo password '123456' HGET 作用:返回哈希表key中给定的field的值 语法:HGET key HGET userinfo HSET userinfo name HSETNX 作用:将hash表中的fields设置成指定的值,field不存在时才可以执行 语法:HSETN…
我们都知道redis是采用C语言开发,那么在C语言中表示string都是采用char[]数组的,然后你可能会想,那还不简单,当我执行如下命令,肯定是直 接塞给char[]数组的. 如果你真的这么想的话,会有几个问题就要过来砍你了,先我们来找一个redis手册,http://doc.redisfans.com/ 第一:如果你每次都执行Append函数,那是不是redis的char[]每次都需要再次扩容,这样是不是每次都是耗时操作呢? 第二:如果你每次执行String中的StrLen,那redis底…
通过管道技术降低往返时延 当后一条命令不依赖于前一条命令的返回结果时,可以使用管道技术将多条命令一起 发送给redis服务器,服务器执行结束之后,一起返回结果,降低了通信频度.…
PING 测试客户端和服务器之间的连接是否有效,有效返回PONG ECHO 打印特定的信息, 如: ECHO 'HELLO WORLD' QUIT/EXIT 断开当前客户端与服务器之间的连接,可以重连 SHUTDOWN 直接关闭服务器 身份验证 设置密码: Redis配置文件中requirepass选项的值 CONFIG SET requirepass password 密码登陆: 登录到Redis客户端中,输入AUTH password来进行解锁 在连接客户端时,添加-a password参数…
Redis中的事务 开启事务 MULTI:开启事务,事务块中多条语句会按照顺序放入队列当中,最后由EXEC来执行 MULTI INCT counter1 INCR counter2 INCR counter3 PING GET counter1 执行事务 EXEC: 执行事务块中的命令 监视一个或者多个key WATCH: 监视一个或者多个key,如果事务在执行之前这个key被其他命令改动,事务就会被打断 UNWATCH: 取消WATCH对所有的key的监视 取消事务 DISCARD: 取消事务…
KEYS 作用:返回所有的给定模式的key 语法:KEYS pattern 通配符: *: 任意个字符 ?: 任意一个字符 []: 匹配[]之间的字符 [a-z] [A-Z] \x: 匹配特殊字符 ? * EXISTS 作用: 查看key是否存在 语法: EXISTS key TYPE 作用:检查key的类型 语法:TYPE key EXPIRE 作用:设置过期时间 语法:EXPIRE key seconds EXPIREAT 作用:指定过期时间戳 语法:EXPIREAT key time PE…
SORT 按照键值从小到大或者从大到小的顺序进行排序 对数字进行排序 语法:SORT key [DESC] 默认情况下,是升序排序,可以指定DESC进行降序排序 对字母进行排序 语法:SORT key ALPHA [DESC] 默认情况下,是升序排序,可以指定DESC进行降序排序 使用LIMIT限制返回的数量 语法: LIMIT offset number offset是偏移量 number是限制的数量 根据外部的key的权重进行排序 LPUSH uid 1 SET user_name_1 ad…
PUBLISH/SUBSCRIBE 发布订阅的原理 包含两个角色,一个是发布者, 一个是订阅者 订阅者可以订阅一个或者多个频道(channel) 发布者可以向指定的频道发布信息 通过SUBSCRIBE订阅频道 命令: SUBSCRIBE channel 订阅1.1频道 SUBSCRIBE channel1.1 通过PUBLISH发布信息 命令:PUBLISH channel message 向1.1频道发布信息 PUBLISH channel1.1 'message' 通过UNSUBSCRIBE…
EXPIRE 设置生存时间,以秒为单位 #### EXPIREAT 设置生存时间,秒时间戳格式 #### PEXPIRE 设置生存时间,毫秒为单位 #### PEXPOREAT 设置生存时间,毫秒时间戳格式 #### PERSIST 将过期时间设置为永久 #### TTL 查看key的生存时间,秒为单位 如果返回值是-1, 则是永久 #### PTTL 查看key的生存时间,毫秒为单位 #### 注意: 使用SET, GETSET也会清除过期时间 SET key hello EXPIRE key…
一.lpush key value1 value2 value3 value4(命令将一个或多个值插入到列表头部. 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作) lpush k1 zhangsan lisi wangwu #创建一个K1从左边依次插入三个值 二.Rpush key value1 value2 value3 value4(命令将一个或多个值插入到列表尾部. 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作) Rpush k2 zhangsan…
去除string 首尾的空格var str = " Hello the world   "let whitespace = NSCharacterSet.whitespaceAndNewlineCharacterSet()str = str.stringByTrimmingCharactersInSet(whitespace)  如下图效果: 2.去除String指定字符 var url = "https://i.cnblogs.com?EditPosts.aspx?post…