当前位置: 首页 > news >正文

高等院校网站建设方案临沂展厅设计公司

高等院校网站建设方案,临沂展厅设计公司,justhost wordpress,大连公司目录 一、字符串命令#xff1a; 二、列表命令#xff1a; 三、集合命令#xff1a; 四、散列命令#xff1a; 五、有序集合命令#xff1a; 六、redis发布与订阅命令#xff1a; 七、事务命令 八、其他命令 1、排序#xff1a;SORT 2、键的过期时间#xff…目录 一、字符串命令 二、列表命令 三、集合命令 四、散列命令 五、有序集合命令 六、redis发布与订阅命令 七、事务命令 八、其他命令 1、排序SORT  2、键的过期时间 九、地理位置查询 命令官网Commands | Redis 一、字符串命令 1、字符串基本操作 1SET执行成功时返回OK 2GET获取value值 3DEL返回被成功删除的值的数量 4strlen,exists,,,setexexpire key 60ttl key 【设置过期时间查看指定key的过期时间】 等等; 2、自增自减 如果一个值可以被解释为十进制整数或者浮点数redis允许用户对这个字符串进行INCR*、DECR*操作。 1INCR key将键存储的值的值加1。 2DECR key将键存储的值减1。 3INCRBY key increment将键存储的值加上整数 increment。 4DECRBY key decrement将键存储的值减去整数 decrement。 5INCRBYFLOAT key decrement将键存储的值加上浮点数decrement。这个命令在redis2.6及以上可以使用。 127.0.0.1:6379 set age 1 OK 127.0.0.1:6379 INCR age (integer) 2 127.0.0.1:6379 get age 2 127.0.0.1:6379 DECR age (integer) 1 127.0.0.1:6379 get age 1 127.0.0.1:6379 INCRBY age 3 (integer) 4 127.0.0.1:6379 get age 4 127.0.0.1:6379 DECRBY age 1 (integer) 3 127.0.0.1:6379 3、处理子串和二进制位 1APPEND 2GETRANGE 3SETRANGE 4GETBIT 5SETBIT 6BITCOUNT 7BITOP 二、列表命令 1、基础命令 1LPUSH 命令在 列表 的左侧添加元素成功返回当前列表的长度。  127.0.0.1:6379 lpush key java (integer) 1 LPUSH 一次可以给 key 添加多个 value 127.0.0.1:6379 lpush key python php c (integer) 4 2RPUSH 命令将元素推入列表的右端用法和 lpush 相同。 127.0.0.1:6379 rpush key rust (integer) 6 127.0.0.1:6379 rpush key asm scala (integer) 8 3LPOP 命令从列表的左端弹出元素 4RPOP命令从列表的右端弹出元素 5llen 命令  返回列表的当前长度 127.0.0.1:6379 llen key (integer) 8 6LINDEX 命令 获取列表在给定位置上的一个元素 127.0.0.1:6379 lindex key 1 python 7LRANGE 命令 获取列表在给定范围内的所有元素 127.0.0.1:6379 lrange key 0 3 1) c 2) c 3) php 4) python 8ltrim 命令用于截取列表内元素 127.0.0.1:6379 ltrim key 0 5 OK 127.0.0.1:6379 lrange key 0 -1 1) c 2) c 3) php 4) python 5) java 6) rust 2、阻塞式命令这组命令常用于消息传递、任务队列。 1blpop 命令从第一个非空列表中弹出位于最左端的元素或者在timeout秒之内阻塞并等待可弹出的元素出现。 blpop key [key ...] timeout demo同时开两个 Redis 的客户端然后在客户端一输入如下命令 #在 key1 和 key2 列表中弹出一个值如果两个列表都为空则阻塞 5 秒因为现在 key1 和 key2 都为空因此 blpop 阻塞了 5 秒。 127.0.0.1:6379 blpop key1 key2 5 (nil) (5.06s) 再次在客户端一输入如下命令 127.0.0.1:6379 blpop key1 key2 20 由于 key1 和 key2 同样什么都没有因此 blpop 命令进入 20 秒的阻塞状态此时我们在客户端二输入如下命令 127.0.0.1:6379 lpush key1 java (integer) 1 观察客户端一客户端一输出如下 1) key1 2) java (9.51s) 也就是客户端一的 blpop 阻塞了 9.51 秒 以后 key1 列表弹出一个值 java。 2brpop 命令 从第一个非空列表中弹出位于最右端的元素或者在timeout秒之内阻塞并等待可弹出的元素出现。 3rpoplpush 命令 4brpoplpush 命令  三、集合命令 1、基本命令 1SADD将元素添加到集合 2SREM从集合中移除元素 3SISMEMBER检查一个元素是否存在于集合中 4SCARD 5SMEMBERS获取集合包含的所有元素谨慎使用如果数据量大会很慢 6SRANDMEMBER 7SPOP 8SMOVE 2、用于组合和处理多个集合的redis命令 1SDIFF 2SDIFFSTORE 3SINTER 4SINTERSTORE 5SUNION 6SUNIONSTORE 四、散列命令 1、基本命令 1HSET在散列里面关联起给定的键值对 2HGET获取指定散列键的值 3HGETALL获取散列包含的所有键值对 4HDEL如果给定键存在于散列里面则移除这个键。 5HLEN返回散列包含的键值对数量 2、其他命令 1HMSET同时将多个 field-value (域-值)对设置到哈希表 key 中。此命令会覆盖哈希表中已存在的域。如果 key 不存在一个空哈希表被创建并执行 hmset 操作。如果命令执行成功返回 OK 。当 key 不是哈希表(hash)类型时返回一个错误。 注意在官方文档中关于hmset的描述如下As per Redis 4.0.0, HMSET is considered deprecated. Please use HSET in new code.根据Redis 4.0.0HMSET被视为已弃用。请在新代码中使用HSET。 hmset key field value [field value …] 2 HMGET按照给出顺序返回哈希表 key 中一个或多个域的值。如果给定的域不存在于哈希表那么返回一个 nil 值。因为不存在的 key 被当作一个空哈希表来处理所以对一个不存在的 key 进行 hmget 操作将返回一个只带有 nil 值的表。 hmget key field [field …] 3 HEXISTS查看哈希表 key 中给定域 field 是否存在。如果哈希表含有给定域返回 1 。如果不含有给定域或 key 不存在返回 0 。 hexists key field 4HKEYS与  hvals 返回哈希表 key 中的所有域/值。当 key 不存在时返回一个空表。尽管有HGETALL存在当散列包含的值非常大时可以像遍历HashMap一样先HKEYS取出所有的key再根据key使用HGET一个个获取键值避免一次获取多个大体积的值导致服务器阻塞。 [ hkeys / hvals ] key 5hincrby 与 hincrbyfloat为哈希表 key 中的域 field 的值加上增量 increment 。hincrby 命令只能增加整数值而 hincrbyfloat 可以增加小数值。增量也可以为负数相当于对给定域进行减法操作。如果 key 不存在一个新的哈希表被创建并执行 hincrby 命令。如果域 field 不存在那么在执行命令前域的值被初始化为 0。对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。 [ hincrby / hincrbyfloat ] key field increment 五、有序集合命令 1、基本命令 1ZADD将一个带有给定分值的成员添加到有序集合里面 2ZREM如果给定成员存在于有序集合则移除这个成员 3zcard获取有序集合包含的成员数量 ZCARD key 4 ZINCRBY 对有序集合中指定成员的分值执行自增操作为其加上指定的增量可以是负数。 ZINCRBY key increment member 5ZCOUNT 统计出有序集合中分值介于指定范围之内的成员数量 ZCOUNT key min max 6ZSCORE 获取与给定成员相关联的分值 ZSCORE key member 2、范围查询、交并集等 1zrank/zrevrank获得成员的升序排列 / 降序排列排名 ZRANK key member 2zrange/zrevrange zrange sorted_set start end: 获取正序排列排名[start,end]范围内的元素zrevrange sorted_set start end: 获取逆序排列排名[start,end]范围内的元素 ZREVRANGE key start stop [WITHSCORES] 3zrangebyscore / zrevrangebyscore zrangebyscore sorted_set min max: 获取分数在[min,max]内的成员 zrevrangebyscore sorted_set max min: 获取分数在[max,min]内的成员 min参数和max参数分别用于指定用户想要获取的成员的最小分值和最大分值 4ZREMRANGEBYRANK 从升序排列的有序集合中移除位于指定排名范围内的成员然后返回被移除成员的数量 ZREMRANGEBYRANK key start stop 5zremrangebyscore zremrangebyscore sorted_set min max 从有序集合中移除位于指定分值范围内的成员并在移除操作执行完毕返回被移除成员的数量 6ZINTERSTORE number个有序集合的并集并集存储到destination中。destination的成员为共同的keyscore为各个score的总和\最小\最大默认为总和。 ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] 127.0.0.1:6379 ZADD dbs 1 bj (integer) 1 127.0.0.1:6379 ZADD dbs 2 tj (integer) 1 127.0.0.1:6379 ZADD dbs 3 ah (integer) 1127.0.0.1:6379 ZADD centers 1 bj (integer) 1 127.0.0.1:6379 ZADD centers 3 ah1 (integer) 1127.0.0.1:6379 ZINTERSTORE thesame 2 dbs centers (integer) 1 127.0.0.1:6379 ZRANGE thesame 0 -1 withscores 1) bj 2) 2 127.0.0.1:6379 ZRANGE dbs 0 -1 withscores 1) bj 2) 1 3) tj 4) 2 5) ah 6) 3 127.0.0.1:6379 ZRANGE centers 0 -1 withscores 1) bj 2) 1 3) ah1 4) 3 127.0.0.1:6379 7zunionstorenumber个有序集合的交集交集存储到destination中 六、redis发布与订阅命令 1、SUBSCRIBE 订阅给定的一个或多个频道 SUBSCRIBE channel [channel1 channel2 ······ ] 2、UNSUBSCRIBE Redis 客户端退订指定的一个或多个频道。如果没有频道被指定也就是一个无参数的 UNSUBSCRIBE 命令被执行那么客户端使用 SUBSCRIBE 命令订阅的所有频道都会被退订。 UNSUBSCRIBE channel [channel1 channel2 ······ ] 3、PUBLISH 向给定频道发送消息返回值为接收到该消息的订阅者数量。 PUBLISH channel message 4、PSUBSCRIBE 1功能订阅一个或多个符合给定模式的频道。 PSUBSCRIBE pattern [pattern1 pattern2 ······ ] 2说明这里的模式可以是全局通配符 * 也可以使用选择匹配符 [ ]。例如news.* 模式可以匹配所有以 news 开头的频道像 news.music、news.blog、news.sport 等而 news.[ie]t 模式则可以匹配news.it频道和news.et频道。 3demo 5、PUNSUBSCRIBE 1功能退订一个或多个符合给定模式的频道。 PUNSUBSCRIBE pattern [pattern1 pattern2 ······ ] 2说明这里的模式可以是全局通配符 * 也可以使用选择匹配符 [ ]。如果没有频道被指定其效果与 SUBSCRIBE 命令相同客户端将退订所有订阅的频道。 ****************************查看发布与订阅的相关信息************************* 6、PUBSUB CHANNELS列出当前所有的活跃频道。活跃频道指的是那些至少有一个订阅者的频道。pattern 参数是可选的。如果不给出 pattern 参数将会列出订阅/发布系统中的所有活跃频道。如果给出 pattern 参数那么只列出和给定模式 pattern 相匹配的那些活跃频道。 PUBSUB CHANNELS [pattern] 7、PUBSUB NUMSUB 返回给定频道的订阅者数量。不给定任何频道则返回一个空列表。 PUBSUB NUMSUB [channel1 channel2 ······ ] 8、PUBSUB NUMPAT 查询当前 Redis 所有客户端订阅的所有频道模式的数量总和。 七、事务命令 1、介绍  Redis事务的本质是一组命令的集合一个事务中所有命令会按照顺序串行化执行队列中的命令其他客户端提交的命令请求不会插入到事务执行命令序列中。Redis有5个命令可以让用户在不被打断的情况下对多个键执行操作。事务执行的三个阶段 1) 以 MULTI 开始一个事务2)入队将多个命令入队到事务中接到这些命令并不会立即执行而是放到等待执行的事务队列里面3)执行由 EXEC 命令触发事务。 2、命令 命令描述MULTI开启事务redis会将后续的命令逐个放入队列中然后使用EXEC命令来原子化执行这个命令系列EXEC执行事务中的所有操作命令DISCARD取消事务放弃执行事务块中的所有命令WATCH监视一个或多个key,如果事务在执行前这个key(或多个key)被其他命令修改则事务被中断不会执行事务中的任何命令上乐观锁UNWATCH取消WATCH对所有key的监视但是需要注意的是每次提交执行EXEC后都会自动释放锁不管是否成功所以UNWATCH无需在EXEC后执行 # 标准事务执行 127.0.0.1:6379 MULTI # 开启事务 OK 127.0.0.1:6379 set k1 hello # 命令入队 QUEUED 127.0.0.1:6379 set k2 redis # 命令入队 QUEUED 127.0.0.1:6379 EXEC # 执行事务 1) OK 2) OK 127.0.0.1:6379 get k1 # 验证是否执行 hello 127.0.0.1:6379 get k2 redis# 事务取消 127.0.0.1:6379 MULTI # 开始事务 OK 127.0.0.1:6379 set k3 test1 QUEUED 127.0.0.1:6379 set k4 test2 QUEUED 127.0.0.1:6379 DISCARD # 取消事务 OK 127.0.0.1:6379 EXEC # 因为事务被取消了所以执行报错 (error) ERR EXEC without MULTI# 事务出现从错误处理 # 1、语法错误编译器错误 # 语法错误会使得事务提交失败数据恢复原样 127.0.0.1:6379 MULTI # 开启事务 OK 127.0.0.1:6379 set k1 11 QUEUED 127.0.0.1:6379 set k2 22 QUEUED 127.0.0.1:6379 error k3 33 # 执行一条错误的命令 (error) ERR unknown command error, with args beginning with: k3, 33, 127.0.0.1:6379 exec # 执行事务报错命令皆未执行 (error) EXECABORT Transaction discarded because of previous errors. 127.0.0.1:6379 get k1 # 验证是否执行 hello # 值未变 127.0.0.1:6379 get k2 redis# 2、类型错误运行时错误 # 触发运行时错误时事务将会跳过错误的命令继续执行其他正常的命令可以被执行成功 # 此处可以说明Redis单条指令保证原子性但是Redis事务不能保证原子性 127.0.0.1:6379 MULTI # 开启事务 OK 127.0.0.1:6379 set k1 11 QUEUED 127.0.0.1:6379 INCR k2 # 类型错误对string类型进行自增操作 QUEUED 127.0.0.1:6379 get k2 QUEUED 127.0.0.1:6379 EXEC # 执行事务可以发现虽然第二条命令报错了但是其他的命令正常执行了 1) OK 2) (error) ERR value is not an integer or out of range 3) redis 127.0.0.1:6379 get k1 # 获取k1的值为事务中修改后的值 11 3、Watch监控使用watch key监控指定数据相当于乐观锁加锁其执行流程如下 # 正常执行 127.0.0.1:6379 set money 100 # 设置初始金额 OK 127.0.0.1:6379 set use 0 # 设置已消费金额 OK 127.0.0.1:6379 WATCH money # 监控money相当于给money上锁 OK 127.0.0.1:6379 MULTI # 开启事务 OK 127.0.0.1:6379 DECRBY money 20 # 消费20初始金额-20 QUEUED 127.0.0.1:6379 INCRBY use 20 # 消费金额20 QUEUED 127.0.0.1:6379 EXEC # 执行事务正常无报错 1) (integer) 80 2) (integer) 20# 模拟多线程修改值 # 开启两个Xshell客户端连接同一个redis # 在第一个客户端1开始操作 127.0.0.1:6379 WATCH money OK 127.0.0.1:6379 MULTI OK 127.0.0.1:6379 DECRBY money 20 QUEUED 127.0.0.1:6379 INCRBY use 20 QUEUED 127.0.0.1:6379 # 执行到此处停止操作模拟另一个线程修改数据切换到另一个客户端2127.0.0.1:6379 INCRBY money 500 # 操作money改变其值500 (integer) 580 127.0.0.1:6379 # 无需再操作切回客户端1执行事务127.0.0.1:6379 EXEC # 发现事务执行返回空即所有命令都未执行 (nil) 127.0.0.1:6379 get money # 查询money发现和客户端2增加后的值一致说明客户端1后来的事务并未执行 580 127.0.0.1:6379 get use # 同理 20 八、其他命令 1、排序SORT  1介绍是Redis中唯一一个可以同时处理3种不同类型结构的命令当然Redis事务也可以在一连串不间断执行的命令里操作不同类型的数据。 2功能 可以实现以下功能 根据降序而不是默认的升序来排列元素 将元素看做是数字、或者将元素看做是二进制字符串来排序 使用被排序元素之外的其他值作为权重来排序还可以从输入的列表、集合、有序集合以外的其他地方进行取值。 返回或保存给定列表、集合、有序集合key中经过排序的元素。 排序默认以数字作为对象值被解释为双精度浮点数然后进行比较。 SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] 2、键的过期时间 1EXPIRE 设置键的过期时间 EXPIRE key seconds 注意对于列表、集合、散列、有序集合这样的容器只能为整个键设置过期时间无法为键里面某个元素设置过期时间可以通过存储时间戳的有序集合来实现针对单个元素的过期操作。  作用为缓存清理key降低内存占用原子性操作。 2TTL 3PTTL这个命令在Redis2.6或以上版本可用 4PERSIST 5EXPIREAT EXPIREAT key timestamp 6PEXPIRE 这个命令在Redis2.6或以上版本可用 PEXPIRE key milliseconds 7PEXPIREAT 这个命令在Redis2.6或以上版本可用 PEXPIREAT key milliseconds-timestamp 九、地理位置查询 1、介绍Redis的GEO操作是一种基于地理位置信息进行操作的功能。它使用经度和纬度坐标来表示地理位置支持存储地理位置信息用来实现诸如附近位置、摇一摇这类依赖于地理位置信息的功能。 2、应用场景 1地理围栏通过设置地理位置的经纬度信息可以将用户或者车辆等实体绑定在地理围栏内当实体进出围栏时可以触发相应的事件。 2附近的人在类似于约会、社交、旅游等场景下可以通过Redis GEO快速查询周围的人员或景点。 3配送服务通过获取配送地址的经纬度信息可以找到距离最近的配送员或仓库并对订单进行分配。 4地址查找在地图应用中可以通过Redis GEO快速查询某个地址周围的商家或服务设施。 动态信息在滴滴、Uber等打车应用中可以实时更新车辆的位置信息以提供更加准确的车辆推荐和路线规划服务 2、命令 1GEOADD添加位置信息将一个或多个指定的地理位置经度、纬度、名称添加到指定的键中。GEOADD命令对于经纬度是有要求的 有效的经度从-180度到180度 有效的纬度从-85.05112878度到85.05112878度 GEOADD key longitude latitude member [longitude latitude member ...]如 GEOADD cities 116.4074 39.9042 Beijing 121.4737 31.2304 Shanghai 113.2644 23.1291 Guangzhou2GEODIST查询距离返回两个位置之间的距离。可以选择以米或千米为单位。 GEODIST key member1 member2 [unit]可选参数unit用于指定计算距离时的单位 m 表示单位为米 km 表示单位为千米 mi 表示单位为英里 ft 表示单位为英尺查询北京和上海之间的距离单位为千米 GEODIST cities Beijing Shanghai km3GEOHASH获取指定位置的Geohash值返回一个或多个位置的Geohash值该值用于对地理位置进行更快速的范围查找。 GEOHASH key member [member ...]如 获取北京的Geohash值 GEOHASH cities Beijing4GEOPOS查询地理位置坐标返回一个或多个位置的经度和纬度。 GEOPOS key member [member ...]如 查询广州的经纬度 GEOPOS cities Guangzhou5GEORADIUS查找指定范围内的元素查询给定坐标范围内的所有元素。可以通过设置排序选项来获取按距离排序的结果。 GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [ASC|DESC] [COUNT count]如 查找距离北京1000公里以内的城市并按距离升序排列 GEORADIUS cities 116.4074 39.9042 1000 km ASC6GEORADIUSBYMEMBER查询给定成员周围的所有元素查询给定成员周围的所有元素。可以通过设置排序选项来获取按距离排序的结果。 GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [ASC|DESC] [COUNT count]如 查找距离上海最近的城市并返回它们的名称和距离 GEORADIUSBYMEMBER cities Shanghai 100 km WITHDIST7ZREM删除成员从指定键中删除一个或多个成员。
http://www.hkea.cn/news/14565470/

相关文章:

  • 展示型网站举例江阴企业网站制作
  • 西昌手机网站建设成都彩钢顶防水陕西省建设厅网站查询
  • 哈尔滨优化网站公司信用中国 网站 建设方案
  • 网站建设需准备什么新手学做网站12天婴
  • 外国s网站建设管理信息系统
  • vue做的网站大全杭州公司注册地址租赁
  • 中国百科网vip钓鱼网站开发国家建设部网站官网
  • 个人flash网站源码免费房屋建设图纸网站有哪些
  • 娄底哪里做网站郑州软件开发公司
  • 凡科网站制作教程wordpress修改主页
  • 建设网站投资多少钱ysl 官网中国
  • 石家庄网站建设雨点牛wordpress插件怎么破解
  • 渠道建设网站建设网站学什么条件
  • 创新网站建设工作室做网站郑州公司
  • 页面设计重点什么网站利于优化
  • 专门做眼镜的网站a 朝扬网络网站建设
  • 手机端微网站设计模板wordpress 相册
  • 无锡网站设计公司电话国内做视频网站需要啥
  • 有需要网站建设的没网站域名查询注册
  • 域名网站威海网站建设怎么样
  • 网站案例分析算命购物网站建设
  • 淘宝电商网站怎么做重庆网站建设选承越
  • 家电维修怎么自己做网站财务公司
  • 做网站图片用什么格式wordpress 收费
  • 建设银行申请信用卡网站首页世界著名室内设计案例
  • 东莞网站建设必要性什么网站可以做电影投资
  • 个人网站设计案例网站建设丿找vx cp5173
  • 织梦网站模板使用教程扬州建设集团招聘信息网站
  • 做海报找素材网站不错的网站建设公司
  • 鸿安建设集团网站软文怎么写