本文主要是介绍Redis学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Redis的数据结构:
String(字符串)
hash(哈希/链表/字典-php关联数组)
list(字符串列表-php索引数组[先进后出])
set(无序字符串集合)
sorted set(有序字符串集合)
1.Redis的数据结构之字符串:
set person jack 赋值增加一个键值对
del person 删除
get person 查询
getset person jason, 修改person值为jason
incr num,如果没有num这个键则初始化为0,并+1,必须为数字类型
decr num2,如果没有num这个键则初始化为0,并-1,必须为数字类型
incrby num 5,给num加指定的数值5
decrby num 3,给num减3
append num 5,给num追加5这个字符串,结果为35
2.Redis的数据结构之hash(哈希):
hset myhash username jack #设置一个键值对
hset myhash age 18
hmset myhash2 username rose age 21 #设置多个键值对
hget myhash username #获取一个键的值
hmget myhash username age #获取多个hash键位的数据
hgetall myhash 获取某个hash的所有键值对
hdel myhash2 username age #删除特定的键值
hgetall myhash2 #获取myhash2的所有键值对
del myhash #删除整个集合
hexists myhash username 判断某个键是否存在
3.Redis的数据结构之list:
lpush mylist a b c list左侧添加
rpush mylist a b c list右侧添加
lrange xxx 0 5 角标0到第5位 查询元素
lrange xxx 0 -1 0到倒数第一位
lpop mylist 左侧弹出
rpop mylist 右侧弹出
llen mylist 查询长度
lpushx/rpushx mylist x 头部添加x 没有则不添加
lrem mylist m x 从左删除m个x元素 删除list元素
lrem mylist -m x 从右删除m个x元素
lrem mylist 0 x 删除所有x元素
lset mylist 3 mmm 设置(修改)角标元素
linsert mylist before/after [value] [insertvalue] 某个值之前/之后插入元素
rpoplpush mylist1 mylist2 将list1最右边的值pop到list2最左边
4.Redis的数据结构之Set:
与List类型不同,set集合不允许出现重复的元素,Set可包含的最大元素数量是42949672
---添加/删除元素
sadd myset a b c 1 2 3
srem myset 1 2
---获得集合中的元素
smembers myset
sismember myset a (有就显示1,无就显示0)
---找出集合中的差集
sadd mya1 a b c
sadd myb1 a c 1 2
sdiff mya1 myb1
---找出集合中的交集
sinter
---集合中的并集:
sunion
---扩展命令:
获取set具体的成员数量 scard myset
随机返回set中的一个成员 srandmember
将两个集合相差的成员存储到其他集合上sdiffstore my1 mya1 myb1
将两个集合的交集存储到其他集合上sinterstore my1 mya1 myb1
将两个集合的并集存储到其他集合上sunionstore my1 mya1 myb1
5.Redis的数据结构之sorted set:
与set类型很相似比set快,并且成员在集合的位置是有序的。
增加:zadd zadd mysort 80 zs 90 ls 100 ww 值相同则更新分数
查看分数:zscore zscore mysort zs
计数:zcard zcard mysort
遍历:zrange zrange mysort 0 -1 按照默认顺序显示值
zrange mysort 0 -1 withscores 显示值和分数
zrevrange mysort 0 -1 withscores 逆序显示值和分数
删除:zrem zrem mysort ls
zremrangebyrank mysort 0 4 按照范围进行删除
zremrangebyscore mysort 80 90 按照分数范围进行删除
递增:zincrby zincrby mysort 3 ls 给ls的分数加三
6.Redis Keys的通用操作:
启动服务:redis-server.exe --service-start
客户端调用: redis-cli.exe -h 127.0.0.1 -p 6379
停止服务:redis-server.exe --service-stop
卸载服务: redis-server.exe --service-uninstall
exit 退出
---Keys的通用操作:
keys * -查询所有的keys
keys my? -查询以my开头的keys
del mylist1 mylist2 -删除keys
exists mylist -判断keys是否存在,存在返回1,不存在返回0
rename company newcompany -重命名,把company改名为newcompany
expire newcompany 1000 -设置keys的超时时间
ttl newcompany -查看keys的剩余超时时间
type mylist -查看keys的类型
flushall 清空数据库
clear 清空当前窗口命令
7.Redis特性:
---多数据库:
redis最大支持16个数据库,按0~15的索引排列
默认使用的是0数据库
select 0 选取数据库select 1
move keyName index 将key移动到指定数据库 move mylist 1
---使用multi、exec、discard来实现事务:
multi 开启事务(begin)
--
redis的一些操作等
--
exec 提交(commit)/discard 回滚(rollback)
事务中,所有命令都会串行执行,事务执行期间,redis不会为其它的客户端提供服务,从而保证命令原子化执行。
这篇关于Redis学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!