# lpush .... 从左边插入一个或多个值
127.0.0.1:6379> lpush name lili leilei hanhan
# rpush .... 从右边插入一个或多个值
127.0.0.1:6379> rpush name ljy lhx
# lpop 从左边吐出一个值 值在键在,值光键亡
127.0.0.1:6379> lpop name
# rpop 从右边吐出一个值 值在键在,值光键亡
127.0.0.1:6379> rpop name
# lrange 按照索引下标获得元素(从左到右) 0 左边第一个,-1 右边第一个,(0-1 表示获取所有)
127.0.0.1:6379> lrange name 0 -1
# rpoplpush 从列表右边吐出一个值,插到列表左边
127.0.0.1:6379> rpoplpush name name2
# lindex 按照索引下标获得元素(从左到右)
127.0.0.1:6379> lindex name 2
# llen 获得列表长度
127.0.0.1:6379> llen name
# lrem 从左边删除 n 个 等于value(从左到右)
127.0.0.1:6379> lrem name 1 lili
# ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
# 下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推
127.0.0.1:6379> ltrim name 1 -1
# linsert before 在的前面插入插入值
# linsert after 在的后面插入插入值
127.0.0.1:6379> linsert name before lili other
127.0.0.1:6379> linsert name after lili new
# lset 将列表 key 下标为 index 的值替换成 value
127.0.0.1:6379> lset name 1 ppp
4.Set集合
Redis set 对外提供的功能与 list 类似 是一个列表的功能,特殊之处在于 set 是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set 是一个很好的选择,并且 set 提供了判断某个成员是否在一个 set 集合内的重要接口,这个也是 list 所不能提供的。
单值多value且无重复
# sadd 将一个或多个 member 元素加入到集合 key 中,已经存在的 member 元素将被忽略
127.0.0.1:6379> sadd name ljy lhx lzf
# smembers 取出该集合的所有值
127.0.0.1:6379> smembers name
# sismember 判断集合是否为含有该值,有 1,没有 0
127.0.0.1:6379> sismember name ljy
# scard 返回该集合的元素个数
127.0.0.1:6379> scard name
# srem .... 删除集合中的某个元素
127.0.0.1:6379> srem name ljy
# spop [数字] 随机从该集合中吐出N个值 该值从集合中删除
127.0.0.1:6379> spop name 2
# srandmember 随机从该集合中取出 n 个值。不会从集合中删除
127.0.0.1:6379> srandmember name 1
# smove value 把集合中一个值从一个集合移动到另一个集合
127.0.0.1:6379> smove name name2 ljy
# sinter 返回两个集合的交集元素 两个集合中都共有的元素
127.0.0.1:6379> sinter name name2 ljy
# sunion 返回两个集合的并集元素
127.0.0.1:6379> sunion name name2
# sdiff 返回两个集合的差集元素(key1中有,key2中没有) 以第一个key为主 属于key1但是不属于key2的元素构成的集合
127.0.0.1:6379> sdiff name name2
# sintercard numkeys key ...[limit] 返回结果的基数 由所有给定集合的交集产生的集合的基数
127.0.0.1:6379> sintercard 2 k1 k2
5. Hash
Redis hash 是一个键值对集合,值也是field 和 value
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象
# hset 给集合中的 键赋值
127.0.0.1:6379> hset info name ljy
# hget 从集合取出 value
127.0.0.1:6379> hget info name
# hmset ... 批量设置 hash 的值
127.0.0.1:6379> hmset info age 10 level 10
# hmget ... 批量获取 hash 的值
127.0.0.1:6379> hmget info name age level
# hgetall 获取全部的数据,
127.0.0.1:6379> hgetall info
# hdel field1 删除hash指定key字段!对应的value值也就消失了!
127.0.0.1:6379> hdel info level
# hlen 返回哈希表 key 中字段的数量
127.0.0.1:6379> hlen info
# hexists 查看哈希表 key 中,给定域 field 是否存在。
127.0.0.1:6379> hexists info name
# hkeys 列出该 hash 集合的所有 field
127.0.0.1:6379> hkeys info
# hvals 列出该 hash 集合的所有 value
127.0.0.1:6379> hvals info
# hincrby 为哈希表 key 中的域 field 的值加上增量 1 -1
# hincrbyfloat 为哈希表 key 中的域 field 的值加上增量小数
127.0.0.1:6379> hincrby info age 1
# hsetnx 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域field 不存在 存在报错
127.0.0.1:6379> hsetnx info name 555
快速高效用:SET SQL_SAFE_UPDATES = 0;下面的就不要看了!
今日用MySQL Workbench进行数据库的管理更新时,执行一个更新的语句碰到以下错误提示:
Error Code: 1175
You are using safe update mode and you tried to update a table without a WHERE that
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:You may assume that nums1 has enough space (size that is