客户端是否启动 netstat -tunpl | grep 6379
启动客户端 redis-server redis.conf
进入客户端 redis-cli.exe -h 127.0.0.1 -p 6379
关闭客户端 pkill redis-server
设置auth的cookie值 setcookie( 'auth', $auth, time()+86400 )
删除auth的cookie值 setcookie( 'auth', '', time()-1 )
前台跳转 header('location:list.php')
redis数据类型
1.string key=>value
set set name lijie
get get name
setnx(如果key存在,返回0,不设置不更新)
setex 设置值和有限期 setex haircolor 10 red
setrange setrange name 6 gmail.com (lijie@126.com--->lijie@gmail.com)
mset 设置多个key的值,1所有都成功,0都不成功
msetnx 设置多个key的值,1所有都成功,0都不成功,不会覆盖之前的key值
get get name
getset 获取旧值,设置新值 getset key6 30
getrange 获取子集的部分 getrange name 0 5
mget 获取多个value值 mget key1 key2 key3 key4
incr 对某个值递增 incr key6
incrby 加指定值 key不存在时候,设置并认为是0 incrby key6 5 incrby key6 -5
decr
decrby
append 指定字符串追加 append name .net
strlen 获取字符串长度 strlen name
2.hash string类型的field和value的映射表
hset user:001 name lijie (user:001是一张表,对里面的name赋值,不能覆盖,即使里面有一个字段)
hget hget user:001 name (获取user:001的name值)
hsetnx hset user:001 name lijie(设置不成功)
hmset hmset user:001 name lijie age 20
hmget hmget user:001 name age
hincrby
hexists
hlen hlen user:001 字段数量
hdel hdel user:001 age
hkeys hkeys user:001
hvals
hgetall
3.list 链表架构,push、pop、一个key的范围(栈和队列同时具备)
lpush 从头部压入一个元素
lrange lrange mylist 0 -1 取出全部元素
rpush 从尾部压入元素
linsert linsert list3 before one three
lset lset list5 1 four 指定下标的值替换掉
lrem lrem list5 n one (n > 0 从头删除,n = 0,全部删除,n < 0,从尾删除)
ltrim 保留key的值的范围内的数据 ltrim list8 1 -1 (保留下表1到最后)
ltrim list8 1 2(保留下表1和2的)
lpop 从头部删除,并返回删除元素
rpop 从尾部删除,并返回删除元素
rpoplpush 尾弹出头压入
lindex 返回下标为key的index的元素 lindex mylist 1(返回下标为1的元素)
llen
4.set string类型的无序集合(不允许有重复的值) 并集、交集、差集
sadd 集合中添加元素
smembers 查询集合中元素
srem 删除名称为key的set中的元素
spop 随机删除名称为key的set中的元素,返回删除的数据
sdiff 两个集合的差集 返回第一个可以的交集
myset1 one,two myset2 two,three
sdiff myset1 myset2 -> one
sdiff myset2 myset1 -> three
sdiffstore sdiffstore myset3 myset1 myset2 (1与2的差集存在3中)
sinter 返回key的交集
sinterstore 交集存到一个地方
sunion 并集
sunionstore 交集存在一个地方
smove 将第一个集合的元素移动到第二个集合
smove myset1 myset2 three 1的three元素移动到2中
scard 获取几个个数
sismember 某个值是否是集合中的元素
srandmember 随机取出集合中的元素
5.zset 有序排列
zadd 添加元素并指定顺序,如果存在则更新排序 zadd myset 1 one
zrange zrange myset 0 -1 withscores
zrem 删除元素
zincrby 存在元素则顺序变化为顺序号,不存在则插入 zincrby sset1 3 one
zrank 返回元素的下标(从小到大排列)
zrevrank 返回元素的下标(从大到小排列
zrangebyscore zrangebyscore myset 2 3 withscores
zcount zcount myset 2 3
zcard 返回所有元素个数
zremrangbyrank 删除索引(下标)元素 zremrangbyrank myset 1 1(删除下标为1的元素)
zremrangbyscore 删除排序元素 zremrangbyscore myset 1 2(删除排序1,2的元素)
redis常用命令
1、键值相关命令
keys 返回所有键 keys * keys my*
exists 确认key是否存在 exists age
del 删除一个键 del age
expire 对key设置过期时间 expire addl 10 (addr 10秒过期)
ttl addl 获取key的有效时长(-1代表已过期)
select 连接数据库 select 0
persist 移除给定key的过期时间(此key不受过期时间限制)
randomkey 随机返回key空间的一个key
remane 重命名key rename age age1
type 返回键的类型
2、服务器相关命令
ping 出现 PONG 则显示正常
echo
select 选择数据库
quit exit 断开客户端
dbsize 返回数据库中key的数目
info 获取服务器信息
config get 实时转储收到的请求 congif get timeout
flushdb 删除当前选择数据库的所有key
flushall 删除所有数据库中的所有键
redis高级应用
1、安全性
redis.conf里修改requirepass beijing,重启一下redis.conf
方法1: *******/redis-cli
auth beijing
方法2: *******/redis-cli -a beijing
2、主从复制
1.master可拥有多个slave
2.多个slave都可连接master,也可以连接别的slave
3.同步数据不影响客户端写入
4.伸缩性
配置从服务器
加入配置
slaveof 192.168.1.1 6379
masterauth beijing
3、事务处理
age 10
multi
set age 20
set age 30
exec
get age ->30
age 10
multi
set age 20
set age 30
discard
get age ->10
队列中有错误,事务不会回滚
4、持久化机制
5、发布订阅信息
6、虚拟内存使用
redis学习笔记
还不快抢沙发
最新回复
haha: 887878
refewf: wefewfre
refewf: ededededeed