Redis 的简单操作命令和事务简单使用
2017-01-10 14:06
639 查看
使用
启动redis 切换到bin目录下./redis-cli 直接启动
让redis后台运行 需要修改配置文件 redis.conf 中的 daemonize 为yes 再次启动就行
redis 命令
获取所有key
keys *
通配符
* 所有 ?一个
[]通配中括号内的某个字符
返回随机key名 randomkey
判断可以值是什么类型 type key名
判断key是否存在
exists key名
删除指定key del key名
修改key名
rename 原来key名 新key名 如果key名存在就会覆盖
如果key名存在就不改了 不存在则改
renamenx
redis默认开启了16个库 可在 redis.conf 配置文件中修改
databases
移动到别的库
move key名 库编号
切换到别的库 select 库编号
查询key值有效期
ttl key名 返回秒数 -1 表示永久有效
设置有效期
expire key名 整型值(设置的秒数)
设置有效期以毫秒为单位
pexpire key名 整型值(设置的豪秒数)
设置永久有效
persist key名
REDIS 字符串类型操作
设置key val 存储字符串 set key名 val值 ex有效期秒 px毫秒 nx xx
注意 秒和毫秒只能使用一个 不能同时使用 如果同时设置 会以后面的为准
nx key不存在时执行
xx key存在时执行
同时设置多个key val
mset key1 val1 key2 val2
同时获取多个key值 mget key1 key2
修改val值 setrange key名 偏移量 修改后的值 如果偏移量大于字符串长度 用0填充
把val值附加到key名后 append key名 附加的值
获取部分val值 getrange key名 开始下标 结束下标 从左以 0 开始 从右从-1开始 注意 开始下标>长度 返回空 结束下标>= 长 度 截取到字符结尾
返回当前val值并修改为新值
getset key名 新值
增加1 incr key名 减去1
decr key名
增加多 incrby key名 增加的数量
减去多
decrby key名 减去的数量
以浮点数增加 incrbyflot key名 增加的数量
REDIS list 链表 类型操作
左边添加新的链表
lpush key名 val值
右边添加新的链表
rpush key名 val值
取出链表的某一段 lrange key名 起始位置 结束位置
返回并删除链表最左 lpop key名
返回并删除最右 rpop key名
删除指定值 lrem key名 要删除的数量 要删除的val值
截取指定值 lrange key名 开始位置 结束位置
查看链表长度 llen key名
在指定位置插入 linsert key名 before|after 指定的值 要插入的值
删除指定的并且插入另外的链表中
rpoplpush 链表名1 链表名2 弹出链表1 的最右一个值 放入链表2最左
REDIS set 集合 类型操作
唯一性 无序性
增加一个集合 sadd key名 val1 val2 返回值 增加成功的数量
查看集合中元素 smembers key名
删除集合中某个指定元素 srem key名 要删除的值 返回值 具体成功的个数
随机返回并且删除一个元素 spop key名
随机返回集合中某个元素 srandmember key名
判断集合中是否存在某个元素
sismember key名 val值
返回集合中元素的个数 scard key
把集合1中的某个元素删除并添加到集合2中
smove 集合1 集合2 val值
求出几个集合中的交集 并返回
sinter key1 key2 key3
求出几个集合中的并集 sunion key1 key2 key3
求出key1与别的集合的差集
sdiff key1 key2 key3
order set 有序集合\
增
增加一个有序集合 zadd key名 score1 val1 score2 val2 ```
查
查询范围内的值 按照排序 zrange key名 范围 0 4 加withscores 取出对应的score
查询范围内的值 按照score
值 zrangebyscore key名 范围 sort1 sort2 可以加 limit 跳过的位数 取几位 加withscores 取出对应的score
查询集合某个值的排名 升序
zrank key名 val
查询集合某个值的排名 降序 zrevrank key名 val
删
删除集合内指定值 zrem key名 val
删除范围内的值 按照排序 zremrangebyrank key名 范围 0 4
删除范围内的值 按照score
zremrangebyscore
key名 范围 score1
score2
统计
返回元素个数 zcard key
返回区间内的数量 zcount key 0 1
返回两个集合见的最大值 最小值 和 放到新的集合中 zzinterstore 新的集合 比较的集合数量 集合1 集合2 aggregate min|max|sum
REDIS Hash 哈希数据类型操作
生成一个hash一次设置一个值
hset keys field val
生成一个hash一次设置多个值
hmset keys field1 val1 field2 val2
查询所有 hgetall key
查询指定 hget key field
查询多个指定 hmget key field1 field2
删除key中field域 hdel key fiedl
返回key中元素数量 hlen key
判断key中是否有field域
hexists key field
把key中的field域增长整形值
hinrby key field val
把key中的field域增长浮点型值
hinrby float key field val
返回key中所有field
hkeys key
返回key中所有value
kvals key
REDIS 事务
watch key1 key2 监控 如果任意一个有变化则事务取消
unwatch 取消监视
启动事务 muitl
把执行命令放在队列里 并不去执行
exec后才去执行
失败了 discard
成功 exec
共同学习!共同进步!
启动redis 切换到bin目录下./redis-cli 直接启动
让redis后台运行 需要修改配置文件 redis.conf 中的 daemonize 为yes 再次启动就行
redis 命令
获取所有key
keys *
通配符
* 所有 ?一个
[]通配中括号内的某个字符
返回随机key名 randomkey
判断可以值是什么类型 type key名
判断key是否存在
exists key名
删除指定key del key名
修改key名
rename 原来key名 新key名 如果key名存在就会覆盖
如果key名存在就不改了 不存在则改
renamenx
redis默认开启了16个库 可在 redis.conf 配置文件中修改
databases
移动到别的库
move key名 库编号
切换到别的库 select 库编号
查询key值有效期
ttl key名 返回秒数 -1 表示永久有效
设置有效期
expire key名 整型值(设置的秒数)
设置有效期以毫秒为单位
pexpire key名 整型值(设置的豪秒数)
设置永久有效
persist key名
REDIS 字符串类型操作
设置key val 存储字符串 set key名 val值 ex有效期秒 px毫秒 nx xx
注意 秒和毫秒只能使用一个 不能同时使用 如果同时设置 会以后面的为准
nx key不存在时执行
xx key存在时执行
同时设置多个key val
mset key1 val1 key2 val2
同时获取多个key值 mget key1 key2
修改val值 setrange key名 偏移量 修改后的值 如果偏移量大于字符串长度 用0填充
把val值附加到key名后 append key名 附加的值
获取部分val值 getrange key名 开始下标 结束下标 从左以 0 开始 从右从-1开始 注意 开始下标>长度 返回空 结束下标>= 长 度 截取到字符结尾
返回当前val值并修改为新值
getset key名 新值
增加1 incr key名 减去1
decr key名
增加多 incrby key名 增加的数量
减去多
decrby key名 减去的数量
以浮点数增加 incrbyflot key名 增加的数量
REDIS list 链表 类型操作
左边添加新的链表
lpush key名 val值
右边添加新的链表
rpush key名 val值
取出链表的某一段 lrange key名 起始位置 结束位置
返回并删除链表最左 lpop key名
返回并删除最右 rpop key名
删除指定值 lrem key名 要删除的数量 要删除的val值
截取指定值 lrange key名 开始位置 结束位置
查看链表长度 llen key名
在指定位置插入 linsert key名 before|after 指定的值 要插入的值
删除指定的并且插入另外的链表中
rpoplpush 链表名1 链表名2 弹出链表1 的最右一个值 放入链表2最左
REDIS set 集合 类型操作
唯一性 无序性
增加一个集合 sadd key名 val1 val2 返回值 增加成功的数量
查看集合中元素 smembers key名
删除集合中某个指定元素 srem key名 要删除的值 返回值 具体成功的个数
随机返回并且删除一个元素 spop key名
随机返回集合中某个元素 srandmember key名
判断集合中是否存在某个元素
sismember key名 val值
返回集合中元素的个数 scard key
把集合1中的某个元素删除并添加到集合2中
smove 集合1 集合2 val值
求出几个集合中的交集 并返回
sinter key1 key2 key3
求出几个集合中的并集 sunion key1 key2 key3
求出key1与别的集合的差集
sdiff key1 key2 key3
order set 有序集合\
增
增加一个有序集合 zadd key名 score1 val1 score2 val2 ```
查
查询范围内的值 按照排序 zrange key名 范围 0 4 加withscores 取出对应的score
查询范围内的值 按照score
值 zrangebyscore key名 范围 sort1 sort2 可以加 limit 跳过的位数 取几位 加withscores 取出对应的score
查询集合某个值的排名 升序
zrank key名 val
查询集合某个值的排名 降序 zrevrank key名 val
删
删除集合内指定值 zrem key名 val
删除范围内的值 按照排序 zremrangebyrank key名 范围 0 4
删除范围内的值 按照score
zremrangebyscore
key名 范围 score1
score2
统计
返回元素个数 zcard key
返回区间内的数量 zcount key 0 1
返回两个集合见的最大值 最小值 和 放到新的集合中 zzinterstore 新的集合 比较的集合数量 集合1 集合2 aggregate min|max|sum
REDIS Hash 哈希数据类型操作
生成一个hash一次设置一个值
hset keys field val
生成一个hash一次设置多个值
hmset keys field1 val1 field2 val2
查询所有 hgetall key
查询指定 hget key field
查询多个指定 hmget key field1 field2
删除key中field域 hdel key fiedl
返回key中元素数量 hlen key
判断key中是否有field域
hexists key field
把key中的field域增长整形值
hinrby key field val
把key中的field域增长浮点型值
hinrby float key field val
返回key中所有field
hkeys key
返回key中所有value
kvals key
REDIS 事务
watch key1 key2 监控 如果任意一个有变化则事务取消
unwatch 取消监视
启动事务 muitl
把执行命令放在队列里 并不去执行
exec后才去执行
失败了 discard
成功 exec
共同学习!共同进步!
相关文章推荐
- redis安装,简单测试,简单使用命令,设置密码
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis常用数据类型介绍、使用场景及其操作命令
- Redis常用数据类型介绍、使用场景及其操作命令
- hadoop命令及hive数据库操作语句的简单使用
- Redis 常用命令以及使用事务、设置key超时
- Redis系列之key操作命令与Redis中的事务详解(六)
- Redis简单入门六——通过事务操作有序集合(sorted set)
- day06 tar命令使用,vim简单操作以及linux开机过程
- Redis常用数据类型介绍、使用场景及其操作命令
- Percona XtraBackup简单使用操作命令
- redis实时缓存数据库简单操作命令
- redis集群的简单操作命令
- Redis-cli简单操作命令
- Redis常用数据类型介绍、使用场景及其操作命令
- Window下Redis安装及简单命令操作
- windows系统下使用.net简单操作redis
- 使用lua脚本和jedis实现redis的hmsetnx命令,操作hash表时不覆盖原有数据
- Redis常用数据类型介绍、使用场景及其操作命令