You can store the strings separately and have the dictionary hold references to them.
Conceptually:
dictionary<i64, StringReference>
|
+----> "hello"
+----> "a much longer string"
+----> "x"