ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis初体验

2022-04-27 12:03:22  阅读:189  来源: 互联网

标签:初体验 OK 0.1 redis 6379 127.0 integer


redis基础知识

1、启动服务端:redis-server

2、重新开启新的终端,链接客户端redis-cli

3、客户端输入:info

**4、测试 **
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
测试结果

5、默认16个数据库
CONFIG GET *
查看配置中:存在默认的16个数据库

6、切换数据库
127.0.0.1:6379> select 3 OK 127.0.0.1:6379[3]>

7、查看数据库大小
127.0.0.1:6379[3]> DBSIZE (integer) 0

8、设置名字,在查看大小
127.0.0.1:6379[3]> set name lzx OK 127.0.0.1:6379[3]> DBSIZE (integer) 1

9、获取数据
127.0.0.1:6379[3]> get name "lzx"

10、查看所有的key
127.0.0.1:6379[3]> keys *1) "name"

11、清空当前数据库
127.0.0.1:6379[3]> flushdb OK

12、清空所有数据库
127.0.0.1:6379[3]> FLUSHALL OK

redis是单线程的

redis基于内存操作,redis性能取决于:内存性能和网络带宽
核心:redis把所有数据放在内存中,单线程也不存在上下文切换,因此,内存情况下,单线程的redis效率是很高的

13、成功返回 ok 存在为1 不存在为0 或(nil)

14、去除单个key
127.0.0.1:6379> move name 1 (integer) 1

15、设置name10s过期
127.0.0.1:6379> EXPIRE name 10 (integer) 1

类型string

使用场景:计数器、统计多单位的数量、对象缓存存储

设置
127.0.0.1:6379> set key1 v1
OK
获取值
127.0.0.1:6379> get key1
"v1"
append追加,有则追加,无责创建
127.0.0.1:6379> append key1 'v2'
(integer) 4
127.0.0.1:6379>
获取长度
127.0.0.1:6379> strlen key1
(integer) 4

设置views 的key
增长1
127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> incr views
(integer) 1
减少1
127.0.0.1:6379> decr views
(integer) 2
127.0.0.1:6379> decr views
(integer) 1
**增长n **
127.0.0.1:6379> incrby views 10
(integer) 11
减少n
127.0.0.1:6379> decrby views 10
(integer) 1
截取0到3位值
127.0.0.1:6379> set key1 'hello word'
OK
127.0.0.1:6379> get key1
"hello word"
127.0.0.1:6379> getrange key1 0 3
"hell"
替换指定位置的字符串
127.0.0.1:6379> setrange key2 1 xx
(integer) 7
127.0.0.1:6379> get key2
"axxdefg"
判断是否存在

setex (set with expire) # 设置30s过期时间
127.0.0.1:6379> setex key3 30 'hello' OK 127.0.0.1:6379> ttl key3 (integer) 25
setnc (set if not exist) # 不存在设置 (分布式锁中会用)
127.0.0.1:6379> setnx mykey 'mongodb' # 如果mykey存在,则创建失败 (integer) 0 127.0.0.1:6379> get mykey "redis"

**批量设置、获取值 k1=v1 k2=v2 k3=v3 **

mset
mget

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "k2"
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379>

原子性操作:一起成功,一起失败

设置一个user:1{name:lzx,age:3} 即将user的1的值,保存一个对象

127.0.0.1:6379> MSET user:1:name lzx user:1:age 2
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "lzx"
2) "2"

混合命令

127.0.0.1:6379> getset db redis # 如果不存在值,则返回nil
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> getset db mongodb # 如果存在值,获取原来的值,并设置新的值
"redis"
127.0.0.1:6379> get db
"mongodb"
127.0.0.1:6379>

标签:初体验,OK,0.1,redis,6379,127.0,integer
来源: https://www.cnblogs.com/zhengzhijian/p/16198361.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有