linux系統中 redis 保存數據的5種形式 linux後端模式啟動 jedis無法通過IP地址和埠號訪問如何修改linux防火牆

来源:https://www.cnblogs.com/qingyundian/archive/2018/04/26/8951864.html
-Advertisement-
Play Games

vim修改redis.conf配置文件(我的已經複製到虛擬機的/usr/local/redis/bin目錄下)為daemonize yes, 以後端模式啟動 ./redis-server redis.confbin目錄下運行 ./redis-cli連接客戶端 輸入ping回應pang成功 Strin ...


vim修改redis.conf配置文件(我的已經複製到虛擬機的/usr/local/redis/bin目錄下)為daemonize yes, 以後端模式啟動 ./redis-server redis.conf
bin目錄下運行 ./redis-cli連接客戶端 輸入ping回應pang成功
=================================================================================================================================================================
String的形式
set name xiaoming
get
是String操作也是後來key的操作
del 後面接鍵名 不關什麼串 集合都幹掉
keys * 可以看所有key的值 存了些什麼 也可 keys my* 也可keys my?????

追加判斷建 exists num 判斷num存在嗎? rename num num1 重命名鍵值 expire test 10 (先set test xiaohong 10秒後再get發現已逝世)
ttl test 還剩多久活-2 表示死了 -1表示沒設置過期
type num 返回類型的 String Set SortedSet List


incr
decr
incrby num 5
decrby num 5
append num any (追加成新字元串)
=================================================================================================================================================================
HashMap的形式
hset 外圍鍵名 內部鍵名 值
hget 外圍鍵名 內部鍵名 值
hmset 外名 內名 值 內名2 值 內名3 值...
HMGET user1 name age email phone address
hgetall 外圍鍵名
hdel user1 name (使用del會刪除整個user1)
hincrby user1 age 5
hexists user1 age
hlen user1
hkeys user1
hvals user1
=================================================================================================================================================================
linux 中redis的第三種 鏈表LinkedList集合形式 有序不唯一

lpush 1 2 3 4 5 從左壓棧
rpush a b c d e 從右壓棧
lrange mylist1 0 9 從左遍歷
不知道有多少個呢?如何要全部?
lrange mylist1 0 -1 (負數表示倒數)
不知道多少,剩一個不要
lrange mylist1 0 -2
lpop mylist1 從左側彈出
rpop mylist1 從右側彈出
llen mylist1 集合長度
lpushx mylist1 f 僅當mylist1存在時從左存入一個
rpushx mylist1 f 僅當mylist1存在時從右存入一個
lrem mylist1 1 1 刪除集合中的1個元素 刪除值為左起第一個1
lrem mylist1 2 9 刪除集合中的2個元素 刪除值為左起前兩個9
lrem mylist1 -1 f 刪除集合中的1個元素 刪除值為右起第一個f
lrem mylist1 0 f 刪除所有f
linsert mylist1 before a x 在a前插
linsert mylist1 after a x 在a後插
rpoplpush mylist1 mylist2 從集合1的右邊彈出一個放到集合2的左邊 (這個的作用涉及到多線程的生產者消費者模型-別人管生產任務,你管消費任務,線程池消化任務) (發郵件我還沒有做)
========================================================================================================================================================================
Set集合形式
sadd myset a b c c d e e 集合無序 唯一特點
srem myset b 刪除一條
SMEMBERS myset 遍歷
sismember myset a 判斷a是集合的成員
---------------------------------------------------
sadd zhangsanset lisi wangwu tianqi tom
sadd lucyset tom rose jack
找不同 zhangsan有lucy沒有
sdiff zhangsanset lucyset
找不同 lucy有zhangsan沒有
sdiff lucyset zhangsanset
求交集
sinter zhangsanset lucyset
求合集
sunion zhangsanset lucyset
scard zhangsanset 求集合個數
srandmember zhangsanset 隨機抽取
--------------------------------------
前邊的三個集合求完沒有存儲結果
sdiffstore jieguo zhangsanset lucyset
sinterstore jieguo zhangsanset lucyset
sunionstore jieguo zhangsanset lucyset
===============================================================================================================================================================
SortedSet形式
zadd myset1 21 zhangsan 38 lisi 308 wangu 每個數據前有個權重做排序用 修改就是再添加一個用新值
zrange myset1 0 -1 遍歷與有序鏈表相同
zrange myset1 0 -1 withscores 遍歷與有序鏈表相同
zscore myset1 zhangsan 張三多少分
zcard myset1 獲取大小
zrem myset1 lisi 刪除某個元素
zrevrange myset1 0 -1 反向遍歷 從高到低
zremrangebyrank myset1 0 1 從開始到結束的刪除
zremrangebyscore myset1 30 40 從開始到結束的分數刪除
zrangebyscore myset1 100 150 limit 0 2根據分數排序查詢 只要前兩條
zincrby myset1 3 xiaohu 給誰增長3分發帖經驗
zcount myset1 100 150 分數之間有多少人
zrank myset1 xiaohu 從小到大排第幾
zrevrank myset1 xiaohu 從大到小排第幾 0表示第一
===============================================================================================================================================================
jedis java連接redis的jar包導入後set get方法操作數據發現Connection Excepiton 修改Linux防火牆 增加埠成功(同Tomcat 外地IP無法訪問)

Linux 安裝Tomcat 配置防火牆後,本地可以訪問,外地通過IP無法訪問,防火牆配置沒有起作用原因
(配置Linux防火牆 vim /etc/sysconfig/iptables 增加埠 重啟服務service iptables restart)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
這句沒有放在適當的位置
應該放在22埠的下邊

JedisPool(jedisPoolConfig,"192.168.199.129",6379)得到的jedis.set("things","寫中文") 在jedis伺服器端會中文顯示16進位?

//這個方法是載入類路徑下的資源 src下的
properties.load(RedisUtils.class.getClassLoader().getResourceAsStream("redis.properties"));

補充:
redis也是有多資料庫的 在mysql下有use切換資料庫 在redis下使用 select 1 可以在0號庫move name 1 把內容移到1號庫 info查看單機還是集群模式standalone linux版本各種信息
dbsize 資料庫有多少個key flushdb清空資料庫
訂閱subscribe cctv5與發佈 publish cctv5 hahaha 雙擊再建一個連接 倆個連接做不同的事一個訂閱一個發佈
事務的特性:acid 原子性 (Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)

--------------------------------------------------------------
redis的事務 redis的3條指令要挨著執行就是事務了 redis是單線程的 使用multi命令讓數據在queued隊列中等待一起exec
當發生錯誤 在set num4 xiaoming 後incr num4發生錯誤 redis根本沒有回滾 該執行還是執行了 有個discard不是回滾是撤銷上一條指令

redis的持久化,當redis進程被kill -9 27921 後,在啟動服務啟動客戶端 發現數據還在 因為在安裝目錄有一個文件dump.rdb每個一段時間把數據存在硬碟上
他的奧秘在redis.conf配置文件中有一個 save 900 1 save 300 10 save 60 10000
redis 可以在配置文件中配置密碼 requiredpass 輸密碼


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • "Linux kernel的中斷子系統之(一):綜述" "Linux kernel的中斷子系統之(二):IRQ Domain介紹" "linux kernel的中斷子系統之(三):IRQ number和中斷描述符" "linux kernel的中斷子系統之(四):High level irq eve ...
  • TIP:Tab鍵可以自動補全命令 首先要瞭解Linux樹形結構 1、/- 根每一個文件和目錄從根目錄開始。只有root用戶具有該目錄下的寫許可權。請註意,/root是root用戶的主目錄,這與/.不一樣 2、/bin中 - 用戶二進位文件包含二進位可執行文件。在單用戶模式下,你需要使用的常見Linux ...
  • 這裡以redis-4.0.9為例 我自己為了好方便管理自己的軟體包,就在/usr/local/目錄下創建了一個software目錄 mkdir /usr/local/software cd /usr/local/software mkdir /usr/local/software cd /usr/l ...
  • 這是我在Linux系統下寫的第一篇博客,花了一周的時間從Windows系統轉到Linux並且可以完成日常操作,能在Linux系統下完成開發,運用各種開發工具,寫各種語言小程式和JavaEE。 經過這一周後,我的感覺就是,Linux太好玩了!!! 感受一下我的桌面: Linux和Windows最大的區 ...
  • 前言:進程之間交換信息的唯一方法是經由f o r k或e x e c傳送打開文件,或通過文件系統。本章將說明進程之間相互通信的其他技術—I P C(InterProcess Communication)。今天將介紹半雙工的管道。 一、匿名管道 1、匿名管道介紹: 管道有兩種限制; (1) 它們是半雙 ...
  • Linux 安裝JDK 配置完環境變數後無法使用 java -version 無法打開 通過下麵語句 將32位文件與當前系統64位相容 (有待補充32位查法)sudo yum install glibc.i686 JDK的安裝步驟 rpm -qa | grep -i java 查看安裝過的java軟 ...
  • 安裝完成mysql後查看mysql版本時 mysql --help |grep Distrib 原因:這是由於系統預設會查找/usr/bin下的命令,如果這個命令不在這個目錄下,當然會找不到命令,我們需要做的就是映射一個鏈接到/usr/bin目錄下,相當於建立一個鏈接文件。 首先得知道mysql命令 ...
  • 1.在安裝apache的時候已經檢查了本地沒有安裝centos自帶的mysql,有的話一定要卸載掉,否則可能占用埠 2.準備mysql安裝包(註意編譯的時候,mysql5.5版本以上的編譯和5.5一下的編譯是不同的,5.5要用cake編譯,但是cake系統6.5沒有,需自己下載) 3.準備安裝包x ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...